Because it only encodes the standard JSON types: null/bool/number/string/array/dictionary.
(It's basically a replacement for NSJSONSerialization.)
Encoding other types is problematic because you don't get round-trip fidelity: if you encode an NSDate as a string, then it will decode back to an NSString, not an NSDate.
—Jens