anchor.diff:  
         var lSignature := meth.Name;
         for each elpar in meth.Parameters do begin
  +        elpar.Name := elpar.Name.Replace('.','_').Replace('$', '_').Replace('@', '_');
           var lParamType: CGTypeReference;
           if elpar.ParameterType.IsByReference then
             lParamType := new CGPointerTypeReference( GetMonoType(ByReferenceType(elpar.ParameterType).ElementType))
  
positive.code:       //if (meth.ReturnType.IsGenericInstance and meth.ReturnType.IsValueType) then continue;
        //if meth.Parameters.Any(a->a.ParameterType.IsGenericInstance and a.ParameterType.IsValueType) then continue;
        if not meth.IsPublic then continue;
  
        var lMonoSig := new CGBlockTypeDefinition('');
        lMonoSig.IsPlainFunctionPointer := true;
  
negative.code: 
          lMonoSig.Parameters.Add(new CGParameterDefinition('_' + elpar.Name, lParamType));
          lSignature := lSignature+"+"+lParamType.ToString;
  
        end;
  
        lMonoSig.Parameters.Add(new CGParameterDefinition('exception', new CGPointerTypeReference(new CGPointerTypeReference(new CGNamedTypeReference('MonoException')))));
  