[<Struct>]
type x =
val mutable abc : Nullable<int>
[<Struct>]
type p =
val mutable a : Nullable<x>
let t = x(abc=Nullable 1)
let m = t.abc.Value // this value gets copied by F# compiler to avoid mutation
let n = t.abc |> fun e -> e.Value // does this also get copied?