protected override double HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsDouble(reader);
 protected override int HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsInt(reader);
 protected override Guid HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsGuid(reader);
 protected override decimal HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsDecimal(reader);
 protected override char HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsChar(reader);
 protected override DateTime HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsDateTime(reader);
 protected override byte HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsByte(reader);
 protected override object HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsObject <T>(reader);
 protected override bool HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsBool(reader);
 protected override string HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsString(reader);
 protected override ushort HandleInternal(ReaderState reader) => SelfUpgradingReader.ReadAsUShort(reader);