Module Expert.Canonical_exp_constructor

type 'a t =
  1. | Annotate of Uuid.t * 'a
  2. | Base of Uuid.t * 'a list
  3. | Tuple of 'a list
  4. | Record of (string * 'a) list
  5. | Variant of (string * 'a list) list
  6. | Poly_variant of 'a option Sorted_table.t
  7. | Application of 'a * 'a list
  8. | Rec_app of int * 'a list
  9. | Var of int
include Ppx_compare_lib.Comparable.S1 with type 'a t := 'a t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t