`type t = private string * int`
`exception Bad_magic_number of string`
`exception Bad_magic_version of t`
`val size : int`
`val compare : t -> t -> int`
`val equal : t -> t -> bool`
`val of_string : string -> t`
`val to_string : t -> string`
`val kind : t -> [ `Cmo | `Cma | `Exe | `Other of string ]`
`val current_exe : t`
`val current_cmo : t`
`val current_cma : t`
`val current : [ `Cmo | `Cma | `Exe ] -> t`