val cons : 'a -> 'a t -> 'a tval rcons : 'a -> 'a t -> 'a tval replace : ('a -> bool) -> 'a -> 'a t -> 'a tval insert : ('a -> int) -> 'a -> 'a t -> 'a tval remove : ('a -> bool) -> 'a t -> 'a tval to_scan : 'a t -> 'a scanval is_empty : 'a scan -> boolval to_list : 'a scan -> 'a listval of_list : 'a list -> 'a scanval length : 'a scan -> int