`type t`
`type kind = [`

1. `|` ``Runtime`
2. `|` ``Exe`
3. `|` ``Cmo`
4. `|` ``Cma`
5. `|` ``Unknown`

`]`
`val create : kind -> t`
`val to_string : t -> string`
`val parse : string -> t option`
`val with_kind : t -> kind -> t`
`exception Incompatible_build_info of {`

1. `key : string;`
2. `first : string * string option;`
3. `second : string * string option;`

`}`
`val merge : string -> t -> string -> t -> t`
`val kind : t -> kind`
`val configure : t -> unit`