anchor.diff:  
       type GetMethod =
           | Normal of getMethod : MethodInfo
  -        | Clone of cloningMethod : MethodInfo * getMethod : MethodInfo
  +        | Clone of cloningMethod : DynamicMethod * getMethod : MethodInfo
   
       let createGet<'T> (meth : MethodInfo) =
           let typ = meth.ReturnType
  
positive.code:                     il.Emit (OpCodes.Callvirt, ctorGet)
                  | Clone (clone, ctorGet) ->
                      il.Emit (OpCodes.Callvirt, ctorGet)
                      printfn "ToString: %A    GetType: %A" clone <| clone.GetType()
                      il.Emit (OpCodes.Call, clone)
              )
          il.Emit (OpCodes.Newobj, ctor)
  
negative.code:         il.Emit (OpCodes.Ldloc_0)
          il.Emit (OpCodes.Ret)
  
          cloneMeth
  
      let createCloneMethod<'T> () =
          createCloneDynamicMethod<'T>().CreateDelegate (typeof<Func<'T, 'T>>) :?> Func<'T, 'T>
  #else
      type GetMethod<'T> =
          | GetReference of Func<'T, obj>
  