# File lib/timeliness/parser.rb, line 7
      def parse(value, *args)
        return value if acts_like_temporal?(value)
        return nil unless parseable?(value)

        type, options = type_and_options_from_args(args)

        time_array = _parse(value, type, options)
        return nil if time_array.nil?

        default_values_by_type(time_array, type, options) unless type == :datetime

        make_time(time_array[0..7], options[:zone])
      rescue NoMethodError => ex
        raise ex unless ex.message =~ /undefined method `(zone|use_zone|current)' for Time:Class/
        raise MissingTimezoneSupport, "ActiveSupport timezone support must be loaded to use timezones other than :utc and :local."
      end