Summary
Guaranteed behavior makes software modules useful. Software guarantees are commonly incomplete with good reason: promises that are narrow and few are most easily kept across wide ranges of platforms and long times. We define the space of a module's allowed behavior to be its "behavioral envelope" and show that thinking and speaking in terms of envelopes eases maintenance and makes APIs delightful.