anchor.diff:        for each elpar in meth.Parameters do begin
           var lParamType: CGTypeReference;
           if elpar.ParameterType.IsByReference then
  -          lParamType := new CGPointerTypeReference( GetMonoType(elpar.ParameterType.GetElementType))
  +          lParamType := new CGPointerTypeReference( GetMonoType(ByReferenceType(elpar.ParameterType).ElementType))
           else
             lParamType := GetMonoType(elpar.ParameterType);
   
  
positive.code:     lMethodMap.Clear;
      for each meth in el.Key.Methods.OrderBy(m -> GetMethodSignature(m)) index n do begin
        if (meth.GenericParameters.Count > 0) or (meth.IsSpecialName and meth.Name.StartsWith('op_')) or (meth.IsConstructor and meth.IsStatic) then continue;
        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('');
  
negative.code:     lTypeDef.Comment := new CGCommentStatement('Import of '+el.FullName+' from '+el.Scope.Name);
      lTypeDef.Visibility := CGTypeVisibilityKind.Public;
  
      for each lConst in el.Resolve.Fields.Where(a->a.IsStatic = false) do begin
        lTypeDef.Members.Add(
          new CGFieldDefinition(lConst.Name, GetMonoType(FixType(el, lConst.FieldType)), Visibility := CGMemberVisibilityKind.Public));
      end;
  
      if not fUnit.Types.Contains(lTypeDef) then
  