Module Ocaml_typing.Mode_intf

module type Lattice = sig ... end
module type Const = sig ... end
module type Const_product = sig ... end
type equate_step =
  1. | Left_le_right
  2. | Right_le_left
type 'a simple_error = {
  1. left : 'a;
  2. right : 'a;
}

Simple mode error specific to axis whose carrier type is 'a. left is the lower bound of actual mode and right is the upper bound of expected mode. left <= right is false, which is why the submode failed.

type print_error_result =
  1. | Mode
    (*

    A mode constant is printed

    *)
  2. | Mode_with_hint
    (*

    A mode constant with hints is printed

    *)
module type Common = sig ... end
module type Common_axis = sig ... end
module type Axis = sig ... end
module type Common_product = sig ... end
type 'd neg_hint_const = 'd Allowance.neg Mode_hint.const constraint 'd = _ * _
type 'd pos_hint_const = 'd Allowance.pos Mode_hint.const constraint 'd = _ * _
type 'd neg_hint_morph = 'd Allowance.neg Mode_hint.morph constraint 'd = _ * _
type 'd pos_hint_morph = 'd Allowance.pos Mode_hint.morph constraint 'd = _ * _
module type S = sig ... end