add a reference
add subordination enforcement, with judgment types (such as hastype t T) not subordinate to expression types (such as oexpr)