`type map =`

1. `| Gen of {`
   1. `gen_line : int;`
   2. `gen_col : int;`
   `}`
2. `| Gen_Ori of {`
   1. `gen_line : int;`
   2. `gen_col : int;`
   3. `ori_source : int;`
   4. `ori_line : int;`
   5. `ori_col : int;`
   `}`
3. `| Gen_Ori_Name of {`
   1. `gen_line : int;`
   2. `gen_col : int;`
   3. `ori_source : int;`
   4. `ori_line : int;`
   5. `ori_col : int;`
   6. `ori_name : int;`
   `}`

`type mapping = map list`
`type t = {`

1. `version : int;`
2. `file : string;`
3. `sourceroot : string option;`
4. `sources : string list;`
5. `sources_content : string option list option;`
6. `names : string list;`
7. `mappings : mapping;`

`}`
`val filter_map : t -> f:(int -> int option) -> t`
`val merge : t list -> t option`
`val mapping_of_string : string -> mapping`
`val string_of_mapping : mapping -> string`
`val empty : filename:string -> t`