Contract-guarded computation graphs for defensive programming.
Goals:
- allow safe usage of unsafe code through contract-based programming.
- design computation graphs that accumulate errors nicely.
- capture errors in a format suitable for serialization or pattern matching.
- demonstrate the (ab-)use of decorators.