type Foo<'a>(element : 'a) =
member this.Copy () = Bar.Create element
and Bar =
static member Create<'a>(element : 'a) : Foo<'a> = Foo(element) //'
do
let f = Foo(42)
stdout.WriteLine (f.GetType().FullName)
dHlwZSBGb288J2E+KGVsZW1lbnQgOiAnYSkgPQogICAgbWVtYmVyIHRoaXMuQ29weSAoKSA9IEJhci5DcmVhdGUgZWxlbWVudAphbmQgQmFyID0KICAgIHN0YXRpYyBtZW1iZXIgQ3JlYXRlPCdhPihlbGVtZW50IDogJ2EpIDogRm9vPCdhPiA9IEZvbyhlbGVtZW50KSAvLycKCmRvCiAgICBsZXQgZiA9IEZvbyg0MikKICAgIHN0ZG91dC5Xcml0ZUxpbmUgKGYuR2V0VHlwZSgpLkZ1bGxOYW1lKQ==