anchor.diff:          /// Mock type
           let mockType = typeBuilder.CreateType()
           // Generate object instance
  -        let args = [|box (returnValues.ToArray());box (argsLookup.ToArray()); box args|]
  +        let returnStrategy : Type -> obj = 
  +            match returnStrategy with Some f -> f | None -> fun t -> invalidOp "Expecting return strategy"
  +        let args = [|box (returnValues.ToArray());box (argsLookup.ToArray()); box (returnStrategy);box args;|]
           Activator.CreateInstance(mockType, args)
   
   /// Mock mode
  
positive.code:                     BindingFlags.Public ||| BindingFlags.NonPublic 
                  let ci = abstractType.GetConstructor(bindings, Type.DefaultBinder, argTypes, [||])
                  argTypes |> Array.iteri (fun i arg ->
                      il.Emit(OpCodes.Ldarg_3) 
                      il.Emit(OpCodes.Ldc_I4, i) 
                      il.Emit(OpCodes.Ldelem_Ref)
                      il.Emit(OpCodes.Unbox_Any, arg)
  
negative.code:             il.Emit(OpCodes.Newobj, typeof<Verifiers>.GetConstructor([||]))
              il.Emit(OpCodes.Stfld, verifiersField)
          // Generate constructor overload
          let constructorArgs = [|typeof<obj[]>;typeof<obj[][]>;typeof<Type->obj>;typeof<obj[]>|]
          generateConstructor typeBuilder constructorArgs generateConstructorBody
          /// Generates a property getter
          let generatePropertyGetter name (field:FieldBuilder) =
  