We're assuming a lot here form the user. Should we check and raise ArgumentError if one of the values in the hash is not a Date or DateTime object?