The Class:
type NotAbstract () = 
    member this.WithOptionalParameters (x, ?y) = 
        let y = defaultArg y 10
        x + y
has the following type signature:
type NotAbstract =
  class
    new : unit -> NotAbstract
    member WithOptionalParameters : x:int * ?y:int -> int
  end
However, this does not work:
[<AbstractClass>]
type AbstractExample () = 
    abstract WithOptionalParameters: int * ?int -> int /// Ouch...
type NotAbstract () = 
    inherit AbstractExample ()
    override this.WithOptionalParameters (x, ?y) = 
        let y = defaultArg y 10
        x + y
How to write the proper type signature in the abstract definition of a function with optional parameters? I did not find any hint here.
PS: I am aware that (similar) result could be achieved with polymorphism
 
     
     
     
    