a non-polymorphic abstraction for manipulating values as first class object
Outline
Value := type { <List<Relation>> typeConstraints; <Maybe<Type*>> T; <List<Relation>> constraints; <Maybe<Pointer<Any>>> value; }
See: box (keyword)