Hello list,
I'm trying to define a method with a default argument, but I keep getting an error. Here's the code:

class foo  =
  object (self)
    method bar ?(baz="moo") () =
    (new foo)#bar ~baz ()
  end

and the error:

The expression "new foo" has type foo but is used with type
  < bar : baz:string -> unit -> 'a; .. >
Types for method bar are incompatible

how do I fix this?
cheers
--Jacques L.