module TypeOps:sig..end
val collect : TypeCore.typ -> TypeCore.typ * TypeCore.typ listcollect 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