Once upon a time, somebody wrote a json parser that used an existing date parser because component reuse is the shizzle. Then somebody updated the date parser to handle more formats because they were using it in a different project. Congratulations, now you have a json parser that eats a multitude of date formats. (Some liberties with facts taken, but building a tower out of flexible components results in a flexible tower.)