method virtual null: bool (* can do default with: lenght(tolist)= 0 *)
+ method add2: 'a -> unit = fun a ->
+ o#add a +> ignore;
+ ()
+ method del2: 'a -> unit = fun a ->
+ o#del a +> ignore;
+ ()
+ method clear: unit =
+ o#iter (fun e -> o#del2 e);
+
+
+
method fold: 'b. ('b -> 'a -> 'b) -> 'b -> 'b = fun f a ->
let a = ref a in