Parse more specific type before more general type

DateTime < Date. As a result, any DateTime was parsed as a Date with the
previous order of registering types. With the new order an attempt is made
to parse something as a DateTime before parsing it as a Date, meaning a
DateTime will be a DateTime and Date will be a Date.