43
I sometimes split a type over several places, like this:
module Foo
type Partial = Bar | BarInt of int
module Bar
type Foo.Partial with
member x.Extend = 5
let b = Foo.Bar.Extend
where modules Foo and Bar are in different files.