Module KTFlatCadequeSource

Sourceval negb : bool -> bool
Sourcemodule Nat : sig ... end
Sourcetype 'x buffer = 'x Fastbuf.t
Sourcetype kind =
  1. | KOnly
  2. | KLeft
  3. | KRight
Sourcetype gyor =
  1. | CG
  2. | CY
  3. | CO
  4. | CR
Sourceval bempty : 'a1 buffer
Sourceval b1 : 'a1 -> 'a1 buffer
Sourceval b2 : 'a1 -> 'a1 -> 'a1 buffer
Sourceval b3 : 'a1 -> 'a1 -> 'a1 -> 'a1 buffer
Sourceval bpush : 'a1 -> 'a1 buffer -> 'a1 buffer
Sourceval binject : 'a1 buffer -> 'a1 -> 'a1 buffer
Sourceval bpop : 'a1 buffer -> ('a1 * 'a1 buffer) option
Sourceval beject : 'a1 buffer -> ('a1 buffer * 'a1) option
Sourceval bsize : 'a1 buffer -> int
Sourceval bis_empty : 'a1 buffer -> bool
Sourceval bapp : 'a1 buffer -> 'a1 buffer -> 'a1 buffer
Sourceval bpop2 : 'a1 buffer -> (('a1 * 'a1) * 'a1 buffer) option
Sourceval beject2 : 'a1 buffer -> (('a1 buffer * 'a1) * 'a1) option
Sourceval beject3 : 'a1 buffer -> ((('a1 buffer * 'a1) * 'a1) * 'a1) option
Sourceval bfold_right : ('a1 -> 'a2 -> 'a2) -> 'a2 -> 'a1 buffer -> 'a2
Sourceval bfold_left : ('a2 -> 'a1 -> 'a2) -> 'a1 buffer -> 'a2 -> 'a2
Sourcetype 'a fnode =
  1. | FNode of kind * 'a Sraw.t buffer * 'a Sraw.t buffer
Sourceand 'a fbody =
  1. | FHole
  2. | FBSingle of 'a fnode * 'a fbody
  3. | FBPairY of 'a fnode * 'a fbody * 'a fchain
  4. | FBPairO of 'a fnode * 'a fchain * 'a fbody
Sourceand 'a fchain =
  1. | FEmpty
  2. | FFlat of kind * 'a Sraw.t buffer * 'a Sraw.t buffer * 'a fchain
  3. | FSingle of 'a fbody * 'a fnode * 'a fchain
  4. | FPair of 'a fchain * 'a fchain
Sourceval cell_case_ground : 'a1 Sraw.t -> ('a1 -> 'a2) -> 'a2 -> 'a2
Sourceval cell_case_struct : 'a1 Sraw.t -> ('a1 Sraw.t buffer -> 'a2) -> ('a1 Sraw.t buffer -> 'a1 fchain -> 'a1 Sraw.t buffer -> 'a2) -> 'a2 -> 'a2
Sourceval tree_of_x : 'a1 fnode -> 'a1 fchain -> 'a1 fchain
Sourceval root_and_child_x : 'a1 fbody -> 'a1 fnode -> 'a1 fchain -> 'a1 fnode * 'a1 fchain
Sourceval push_chain_x : 'a1 Sraw.t -> 'a1 fchain -> 'a1 fchain
Sourceval inject_chain_x : 'a1 fchain -> 'a1 Sraw.t -> 'a1 fchain
Sourceval cad_push_x : 'a1 -> 'a1 fchain -> 'a1 fchain
Sourceval cad_inject_x : 'a1 fchain -> 'a1 -> 'a1 fchain
Sourceval degenerate_buf_x : 'a1 fchain -> 'a1 Sraw.t buffer option
Sourceval make_left_only_x : 'a1 Sraw.t buffer -> 'a1 fchain -> 'a1 Sraw.t buffer -> 'a1 fchain option
Sourceval make_left_x : 'a1 fchain -> 'a1 fchain option
Sourceval make_right_only_x : 'a1 Sraw.t buffer -> 'a1 fchain -> 'a1 Sraw.t buffer -> 'a1 fchain option
Sourceval make_right_x : 'a1 fchain -> 'a1 fchain option
Sourceval concat_small_left_x : 'a1 Sraw.t buffer -> 'a1 fchain -> 'a1 fchain option
Sourceval concat_small_right_x : 'a1 fchain -> 'a1 Sraw.t buffer -> 'a1 fchain option
Sourceval cad_concat_x : 'a1 fchain -> 'a1 fchain -> 'a1 fchain option
Sourceval pop_raw_x : 'a1 fchain -> ('a1 Sraw.t * 'a1 fchain) option
Sourceval eject_raw_x : 'a1 fchain -> ('a1 fchain * 'a1 Sraw.t) option
Sourceval repair_front_x : kind -> 'a1 fbody -> 'a1 Sraw.t buffer -> 'a1 Sraw.t buffer -> 'a1 fchain -> 'a1 fchain option
Sourceval repair_back_x : kind -> 'a1 fbody -> 'a1 Sraw.t buffer -> 'a1 Sraw.t buffer -> 'a1 fchain -> 'a1 fchain option
Sourceval drain_both_x : 'a1 fchain -> (('a1 Sraw.t * 'a1 Sraw.t option) * 'a1 fchain) option
Sourceval repair_both_x : 'a1 fbody -> 'a1 Sraw.t buffer -> 'a1 Sraw.t buffer -> 'a1 fchain -> 'a1 fchain option
Sourceval repair_packet_x : 'a1 fbody -> 'a1 fnode -> 'a1 fchain -> 'a1 fchain option
Sourceval repair_pop_side_x : 'a1 fchain -> 'a1 fchain option
Sourceval repair_eject_side_x : 'a1 fchain -> 'a1 fchain option
Sourceval cad_pop_x : 'a1 fchain -> ('a1 * 'a1 fchain) option
Sourceval cad_eject_x : 'a1 fchain -> ('a1 fchain * 'a1) option
Sourceval fcad_empty : 'a1 fchain