anchor.diff:  
     if  (targetType.IsAssignableFrom(sourceType))  then
       exit  (true);
  +  if targetType.IsGenericParameter then
  +    exit true;
   
     if  (((sourceType = typeOf(Double))  or  (sourceType = typeOf(Int32)))
                      and  (&Type.GetTypeCode(targetType)  in  [ TypeCode.Byte, TypeCode.Char, TypeCode.DateTime, TypeCode.Decimal,
  
positive.code:     var fValue: Object;
      var fType: &Type;
      class method ConvertTo(val: Object; aType: &Type): Object;
    public
      constructor(aValue: Object; aType: &Type; aGlobal: GlobalObject);
  
  
negative.code: method EcmaScriptObjectWrapper.GetOwnProperty(aName: String): PropertyValue;
  begin
    var lItems := fType.GetMembers(BindingFlags.Public  or  BindingFlags.FlattenHierarchy  or
                     if  (self.Static)  then  BindingFlags.Static  else  BindingFlags.Instance).Where(a->a.Name = aName).ToList();
  
    if  (length(lItems) = 0)  then
      exit inherited;
  
  
    if  (lItems.Count  = 1)  then  begin
      if  (lItems[0].MemberType = MemberTypes.Field)  then     
        exit  (new PropertyValue(if FieldInfo(lItems[0]).IsInitOnly then PropertyAttributes.None else PropertyAttributes.writable,
                     EcmaScriptScope.DoTryWrap(Root,FieldInfo(lItems[0]).GetValue(fValue))));
  