`type lexing_position = Morbig.CST.lexing_position = {`

1. `pos_fname : string;`
2. `pos_lnum : int;`
3. `pos_bol : int;`
4. `pos_cnum : int;`

`}`
`val equal_lexing_position : lexing_position -> lexing_position -> Ppx_deriving_runtime.bool`
`val pp_lexing_position : Ppx_deriving_runtime.Format.formatter -> lexing_position -> Ppx_deriving_runtime.unit`
`val show_lexing_position : lexing_position -> Ppx_deriving_runtime.string`
`val lexing_position_to_yojson : lexing_position -> Yojson.Safe.t`
`val lexing_position_of_yojson : Yojson.Safe.t -> lexing_position Ppx_deriving_yojson_runtime.error_or`
`type position = Morbig.CST.position = {`

1. `start_p : lexing_position;`
2. `end_p : lexing_position;`

`}`
`val equal_position : position -> position -> Ppx_deriving_runtime.bool`
`val pp_position : Ppx_deriving_runtime.Format.formatter -> position -> Ppx_deriving_runtime.unit`
`val show_position : position -> Ppx_deriving_runtime.string`
`val position_to_yojson : position -> Yojson.Safe.t`
`val position_of_yojson : Yojson.Safe.t -> position Ppx_deriving_yojson_runtime.error_or`
`type 'a located = 'a Morbig.CST.located = {`

1. `value : 'a;`
2. `position : position;`

`}`
`val equal_located : 'a. ('a -> 'a -> Ppx_deriving_runtime.bool) -> 'a located -> 'a located -> Ppx_deriving_runtime.bool`
`val pp_located : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'a located -> Ppx_deriving_runtime.unit`
`val show_located : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> 'a located -> Ppx_deriving_runtime.string`
`val located_to_yojson : 'a. ('a -> Yojson.Safe.t) -> 'a located -> Yojson.Safe.t`
`val located_of_yojson : 'a. (Yojson.Safe.t -> 'a Ppx_deriving_yojson_runtime.error_or) -> Yojson.Safe.t -> 'a located Ppx_deriving_yojson_runtime.error_or`
`val _ : (Yojson.Safe.t -> 'a Ppx_deriving_yojson_runtime.error_or) -> Yojson.Safe.t -> 'a located Ppx_deriving_yojson_runtime.error_or`
`class virtual +'a located_iter : object ... end`
`class virtual +'a located_map : object ... end`
`class virtual +'a located_reduce : object ... end`
`class virtual +'a located_mapreduce : object ... end`
`class virtual +'a located_iter2 : object ... end`
`class virtual +'a located_map2 : object ... end`
`class virtual +'a located_reduce2 : object ... end`
`val dummily_located : 'a -> 'a located`
`val copy_location : 'a 'b. 'a located -> 'b -> 'b located`
`val on_located : ('a -> 'b) -> 'a located -> 'b`