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:         | _ -> //failwithf "Component, %s, has an invalid property type. Property Name: %s. Type: %s." typeof<'T>.Name meth.Name typ.Name
  
              let helperMethods = moduleType.GetRuntimeMethods ()
              let createCloneMeth = helperMethods |> Seq.find (fun x -> x.Name = "createCloneMethod")
  
              let generic = createCloneMeth.MakeGenericMethod ([|typ|])
              let ret = generic.Invoke (null, [||])
              let ret = ret :?> Delegate
              Clone (ret.Method, meth)
  
      let createSet<'T> (meth : MethodInfo) = meth
  
      let createCloneMethod<'T> () =
          let typ = typeof<'T>
  
          if typ.IsValueType then
  
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>
  