We can remove the _bsonType field from BsonValue and make the BsonType property abstract and override it in each subclass.
This would save about 4 bytes per BsonValue depending on how fields get aligned.
We can remove the _bsonType field from BsonValue and make the BsonType property abstract and override it in each subclass.
This would save about 4 bytes per BsonValue depending on how fields get aligned.