The Links Programming Language
Module type Links_core . Types . Constraint
val type_satisfies : datatype -> bool
val row_satisfies : row -> bool
val can_type_be : datatype -> bool

Can this type be modified using make_type to satisfy this constraint?

val can_row_be : row -> bool
val make_type : datatype -> unit

Attempt to modify this type to satisfy this constraint. One should call can_type_be before calling this.

This will attempt to convert any flexible type variables with compatible subkinds to one with a more restrictive one, so that is_type now returns true.

val make_row : row -> unit