anchor.diff:  
           let ret = constructedHelper.Invoke (null, [|meth|])
           ret :?> Func<'T, obj>
  +
  +    static member CreateMagicMethodHelper2<'TTarget, 'TParam> (meth : MethodInfo) =
  +        let func = meth.CreateDelegate (typeof<Action<'TTarget, 'TParam>>) :?> Action<'TTarget, 'TParam>
  +        Action<'TTarget, obj> (fun t o -> func.Invoke (t, o :?> 'TParam))
  +
  +    static member MagicMethod2 (meth : MethodInfo) =
  +        let genericHelper = typeof<Clone>.GetRuntimeMethods() |> Seq.find (fun x -> x.Name = "CreateMagicMethodHelper2")
  +
  +        let constructedHelper = genericHelper.MakeGenericMethod ([|typeof<'T>; meth.GetParameters().[0].ParameterType|])
  +        
  +        let ret = constructedHelper.Invoke (null, [|meth|])
  +        ret :?> Action<'T, obj>
   
       static member CreateCloneMethod<'T when 'T :> Component> () =
           let typ = typeof<'T>
  
positive.code:         IndexLookup: int []
          Entities: Entity UnsafeResizeArray
          Components: 'T UnsafeResizeArray
          Clone : obj -> obj
      }
  
      interface IEntityLookupData with
  
negative.code:                 None
  
          member this.CloneComponent comp =
              this.Clone (comp :?> 'T) :> Component
  
  type EntityBuilder = EntityBuilder of (Entity -> EntityManager -> unit)
  
  