This is the equivalent of your C#:
type A =
abstract member doA : unit -> string
type ConcreteA() =
abstract doA : unit -> string
default this.doA() = "a"
interface A with
member this.doA() = this.doA()
type ExtA() =
inherit ConcreteA()
override this.doA() = "ex" + base.doA()
ExtA().doA() // output: exa
base
can't be used standalone, only for member access (thus the parse error). See Specifying Inheritance, under Classes on MSDN.