open Oassoc

class virtual ['a] osequence =
object(o: 'o)
  (* inherit ['a] ocollection *)
  inherit [int, 'a] oassoc

  method virtual nth: int -> 'a
  method virtual first: 'a
  method virtual last: 'a
  (* head tail push pop top cons snoc *)
end
