Technical question: why []? It seems like using a mutable value as the sentinel is asking for trouble. Why not `None` (which has an unambiguous JSON counterpart in `null`)?