Ну, ты провоцируешь на дальнейшие вопросы. Чем empty object отличается от nul в этом контексте
Пустой объект - это валидное значение, а null - это значит, что значения как бы нет
Куб вместо null будет подставлять дефолты свои, например, а вместо {} - не будет