sig
  class ['a] pair :
    '->
    '->
    object ('b)
      method eq : '-> bool
      method first : 'a
      method second : 'a
    end
  class virtual representable :
    object method virtual string_representation : string end
  exception Invalid_scalar
  class vector :
    int ->
    int ->
    object ('a)
      method eq : '-> bool
      method first : int
      method scale : float -> unit
      method second : int
      method string_representation : string
      method x : int
      method y : int
    end
  class point :
    int ->
    int ->
    object ('a)
      method eq : '-> bool
      method first : int
      method move : Example_ocamldoc.vector -> unit
      method second : int
      method string_representation : string
      method x : int
      method y : int
    end
end