5 class virtual ['a
] ocollection
:
9 method virtual empty
: 'o
10 method virtual add
: 'a
-> 'o
12 method virtual iter
: ('a
-> unit) -> unit
13 method virtual view
: ('a
, 'o
) view
15 (* no need virtual, but better to force redefine for efficiency *)
16 method virtual del
: 'a
-> 'o
17 method virtual mem
: 'a
-> bool
18 method virtual null
: bool
21 method add2
: 'a
-> unit
24 method fold
: ('c
-> 'a
-> 'c
) -> 'c
-> 'c
26 method fromlist
: 'a list
-> 'o
27 method tolist
: 'a list
29 method exists
: ('a
-> bool) -> bool
30 method filter
: ('a
-> bool) -> 'o