sig
  val lift : int -> TypeCore.typ -> TypeCore.typ
  val tsubst : TypeCore.typ -> int -> TypeCore.typ -> TypeCore.typ
  val tsubst_branch :
    TypeCore.typ -> int -> TypeCore.branch -> TypeCore.branch
  val tsubst_data_type_group :
    TypeCore.typ ->
    int -> TypeCore.data_type_group -> TypeCore.data_type_group
  val bind_rigid_in_type :
    TypeCore.env ->
    TypeCore.type_binding ->
    TypeCore.typ -> TypeCore.env * TypeCore.typ * TypeCore.var
  val bind_flexible_in_type :
    TypeCore.env ->
    TypeCore.type_binding ->
    TypeCore.typ -> TypeCore.env * TypeCore.typ * TypeCore.var
end