   This function returns `true` if the value is a string and is formatted as
   defined by [RFC 3339](https://tools.ietf.org/html/rfc3339), `false` otherwise.
   """
-  @spec is_date_time?(any) :: boolean
-  def is_date_time?(string) when is_binary(string) do
+  @spec date_time?(any) :: boolean
+  def date_time?(string) when is_binary(string) do
     regex = ~r/^
       (\d{4})-([01]\d)-([0-3]\d)T
       ([0-2]\d):([0-5]\d):([0-6]\d)(?:\.(\d+))?

  This function returns `true` if the value is a string and is formatted as
  defined by [RFC 2673](https://tools.ietf.org/html/rfc2673), `false` otherwise.
  """
  @spec is_ipv4?(any) :: boolean
  def is_ipv4?(string) when is_binary(string) do
    regex = ~r/
      (?(DEFINE)
        (?<dec_octet> (?:25[0-5]|2[0-4]\d|[0-1]?\d{1,2}) )

    Regex.match?(regex, string)
  end

  def uri_path?(_), do: false

  @doc """
  Checks if the value is a valid uri path.
  """
  @spec uri_template_path?(any) :: boolean
  def uri_template_path?(string) when is_binary(string) do
    regex = ~r/
      (?(DEFINE)
        (?<unreserved>  [-._~[:alnum:]] )
