type IReaderWriter =
abstract member Read : unit -> unit
abstract member Write : unit -> unit
type IReader =
abstract member Read : unit -> unit
type SomeClass1(x: int, y: float) =
interface IReaderWriter with
member this.Read() = printfn "%d %f" x y
member this.Write() = printfn "%d %f" x y
interface IReaderWriter with
member this.Read() = printfn "%d %f" x y
Unnecessarily verbose, but thanks to the interface implementation scoping it's easy to wrap the head around impl.