- type 'a constrained-  = [< `Assoc of (string * 'a) list | `Bool of bool | `Float of float | `Floatlit of string | `Int of int | `Intlit of string | `List of 'a list | `Null | `String of string | `Stringlit of string | `Tuple of 'a list | `Variant of string * 'a option ] as 'a
- type 'a constrained_stream-  = 'a-  constraint 'a = [< `Null | `Bool of bool | `Int of int | `Intlit of string | `Float of float | `Floatlit of string | `String of string | `Stringlit of string | `As | `Ae | `Os | `Oe | `Ts | `Te | `Vs | `Ve | `Name of string | `Infinity | `Neg_infinity | `Nan ] as 'a