![]() Prevent the static contract optimizer from changing constructors under `or/sc`. i.e., for static contracts of the form `(or/sc other-scs ...)`, the optimizer cannot optimize any of the `other-scs ...` to `any/sc` but it can optimize sub-contracts of the `other-scs ...` Example: `(or/sc set?/sc (box/sc set?/sc))` in a trusted position now optimizes to itself, instead of `any/sc` Optimization can resume under a sub-contract that represents a "heavy" type constructor. (I mean, `U` is a type constructor but it's not "heavy" like that.) |
||
---|---|---|
.. | ||
typed | ||
typed-racket | ||
info.rkt | ||
LICENSE.txt |