val front : 'a t -> 'a option * 'a tval shift : 'a t -> 'a * 'a tval pop_front : 'a t -> 'a * 'a tval unshift : 'a -> 'a t -> 'a tval push_front : 'a -> 'a t -> 'a tval back : 'a t -> 'a t * 'a optionval pop : 'a t -> 'a t * 'aval push : 'a t -> 'a -> 'a tval pop_back : 'a t -> 'a t * 'aval push_back : 'a t -> 'a -> 'a tval toList : 'a t -> 'a listval ofList : 'a list -> 'a init_t -> 'a tval for_all : ('a -> bool) -> 'a t -> boolval exists : ('a -> bool) -> 'a t -> boolval app : ('a -> unit) -> 'a t -> unit