package febusy

  1. Overview
  2. Docs
type 'a custom =
  1. | Custom of 'a
type ('kind, 'how_made) t =
  1. | Custom : {
    1. id : 'a;
    2. to_string : 'a -> string;
    3. serialize : 'a -> 'b -> string;
    4. deserialize_exn : 'a -> string -> 'b;
    5. hash : 'a -> 'b -> string;
    6. materialize : 'a -> 'b option;
    } -> ('a custom, 'b) t
  2. | Pair : ('a, 'c) t * ('b, 'd) t -> ('a * 'b, 'c * 'd) t
  3. | List : ('a, 'c) t list -> ('a list, 'c list) t
val to_string : 'a 'b. ('a, 'b) t -> string
val deserialize_exn : 'a 'b. ('a, 'b) t -> string -> 'b
val serialize : 'a 'b. ('a, 'b) t -> 'b -> string
val hash : 'a 'b. ('a, 'b) t -> 'b -> string
val materialize : 'a 'b. ('a, 'b) t -> 'b option