def compose(atoms, base)
      ::DateTime.new(base.year, base.month, base.day, *atoms)
    rescue ArgumentError
      raise ISO8601::Errors::RangeError, @original
    end
def compose(atoms, base)
      ::DateTime.new(base.year, base.month, base.day, *atoms)
    rescue ArgumentError
      raise ISO8601::Errors::RangeError, @original
    end
Wraps ::DateNew.new to play nice with ArgumentError.

 @param [Array<Integer>] atoms The time atoms.
 @param [::Date] base The base date to start computing time.

 @return [::DateTime]