This probably should be reworded so that it becomes part of the contract that `nil` values should map to `NSNull`.