anchor.diff:  
     if (value is bool) return PropertyValue.createBoolean(value);
     if (value is DateTime) return PropertyValue.createDateTime(value);
  -  if (value is double) return PropertyValue.createDouble(value);
  +
  +  if (value is double) {
  +    if (nativeType == Float) return PropertyValue.createSingle(value);
  +    return PropertyValue.createDouble(value);
  +  }
  +
     if (value is Duration) return PropertyValue.createTimeSpan(value);
     if (value is GUID) return PropertyValue.createGuid(value);
  -  if (value is int) return PropertyValue.createInt64(value);
  +
  +  if (value is int) {
  +    if (nativeType == Int16) return PropertyValue.createInt16(value);
  +    if (nativeType == Int32) return PropertyValue.createInt32(value);
  +    if (nativeType == Uint8) return PropertyValue.createUInt8(value);
  +    if (nativeType == Uint16) return PropertyValue.createUInt16(value);
  +    if (nativeType == Uint32) return PropertyValue.createUInt32(value);
  +    if (nativeType == Uint64) return PropertyValue.createUInt64(value);
  +
  +    return PropertyValue.createInt64(value);
  +  }
  +
     if (value is Point) return PropertyValue.createPoint(value);
     if (value is Rect) return PropertyValue.createRect(value);
     if (value is Size) return PropertyValue.createSize(value);
  
positive.code:   }
  }
  
  /// Boxes [value] so that it can be passed to the WinRT APIs that take
  /// `IPropertyValue` interface as a parameter.
  ///
  /// This is used when working with `IMap` and `IReference` types.
  Pointer<COMObject> boxValue(Object? value) {
    if (value == null) return PropertyValue.createEmpty();
  
    // There is no need to box IInspectable objects since .createInspectable()
    // returns the object provided without modification.
    // See https://docs.microsoft.com/en-us/uwp/api/windows.foundation.PropertyValue.createinspectable
  
negative.code: import '../../guid.dart';
  import '../../types.dart';
  import '../../utils.dart';
  import '../../winrt_constants.dart';
  import '../../winrt_helpers.dart';
  import '../foundation/enums.g.dart';
  import '../foundation/ipropertyvalue.dart';
  