`sig
type 'a t = { l : 'a list; r : 'a list; }
val create : 'a list -> 'a list -> 'a List_zipper.t
val drop_before : 'a List_zipper.t -> ('a * 'a List_zipper.t) option
val drop_after : 'a List_zipper.t -> ('a * 'a List_zipper.t) option
val drop_all_before :
'a List_zipper.t -> ('a list * 'a List_zipper.t) option
val drop_all_after :
'a List_zipper.t -> ('a list * 'a List_zipper.t) option
val insert_before : 'a List_zipper.t -> 'a -> 'a List_zipper.t
val insert_after : 'a List_zipper.t -> 'a -> 'a List_zipper.t
val previous : 'a List_zipper.t -> 'a List_zipper.t option
val next : 'a List_zipper.t -> 'a List_zipper.t option
val replace_left : 'a List_zipper.t -> 'a list -> 'a List_zipper.t
val replace_right : 'a List_zipper.t -> 'a list -> 'a List_zipper.t
end`