Effect
Represents an effect of a function invocation, either directly observable, such as the function returning normally, or a side-effect, such as the function's lambda parameter being called in place.
The inheritors are used in ContractBuilder to describe the contract of a function.