anchor.diff:  
       /// Creates an uninitialized instance for specific union case
       member __.CreateUninitialized() : 'U =
  -        ctorInfo.Invoke(null, ctorParams) :?> 'U
  +        ctorf.Value.Invoke()
  +//        ctorInfo.Invoke(null, ctorParams) :?> 'U
  +
  +    member __.CreateUninitializedExpr() : Expr<'U> =
  +        let fieldsExpr = properties |> Seq.map (fun p -> Expr.DefaultValue p.PropertyType)
  +        Expr.Cast<'U>(Expr.Call(ctorInfo, Seq.toList fieldsExpr))
   
       interface IShapeFSharpUnionCase with
           member __.CaseInfo = uci
  
positive.code:     /// Creates an uninitialized instance for POCO
      member inline __.CreateUninitialized() : 'Poco = 
          FormatterServices.GetUninitializedObject(typeof<'Poco>) :?> 'Poco
  
      interface IShapePoco with
          member __.Constructors = ctors |> Array.map (fun c -> c :> _)
  
negative.code:         |> Seq.map (fun p -> mkWriteMemberUntyped<'Record> p.Name p [|p|])
          |> Seq.toArray
  
      let ctor = mkUninitializedCtor<'Record> defaultCtor
  
      /// Creates an uninitialized instance for given C# record
      member __.CreateUninitialized() = ctor.Value.Invoke()
      /// Creates an uninitialized instance for given C# record
      member __.CreateUninitializedExpr() = 
          Expr.Cast<'Record>(Expr.NewObject(defaultCtor, []))
  
      /// Property shapes for C# record
      member __.Properties = properties
  
  