move around and rename pack directives
Boolean#from_bson should be a class method
min/max keys should return new instead of self