method list :
'a 'a_out.
('self_type -> 'a -> 'a_out) -> 'a list -> 'a_out list =
fun _f_a ->
function
| [] -> []
| _x :: _x_i1 ->
let _x = _f_a o _x in
let _x_i1 = o#list _f_a _x_i1 in _x :: _x_i1