Module TypeOps

module TypeOps: sig .. end
Various operations for manipulating types.

val collect : TypeCore.typ -> TypeCore.typ * TypeCore.typ list
collect t syntactically separates t into a structural part and a permission part, i.e. it extracts all the permissions hidden inside t and returns them as a separate list.
val mark_reachable : TypeCore.env -> TypeCore.typ -> TypeCore.env
Mark all type variables reachable from a type, including via the ambient permissions.