0 | ||| This module defines `Wrap0`, a wrapper type containing a value
1 | ||| that is present at compile-time, but erased during run-time. This
2 | ||| wrapper is used to define categories with erased objects, such as
3 | ||| the category of types `Typ`.
8 | ||| A wrapper for a value that is erased at runtime.
14 | ||| Lift a function to act on `Wrap0` values. Since the values it
15 | ||| operates on are erased, the function does not have to exist at
16 | ||| runtime.
21 | ||| Lift a binary operation to act on `Wrap0` values. Since the values
22 | ||| it operates on are erased, the function does not have to exist at
23 | ||| runtime.
29 | -- I doubt these interface implementations will be of much use, but
30 | -- they might as well be defined.
47 | ||| A type that is erased at runtime.