   can be used to parse a wide range of relative URIs.
 
   This function uses the parsing regular expression as defined
-  in the Appendix B of RFC3986.
+  in the [Appendix B of RFC3986](http://tools.ietf.org/html/rfc3986#appendix-B).
 
   When a URI is given without a port, the values registered via
   `URI.default_port/1` and `URI.default_port/2` are used.

  @doc """
  Checks if the character is a "reserved" character in a URI.

  Reserved characters are specified in RFC3986, section 2.2.
  """
  def char_reserved?(c) do
    c in ':/?#[]@!$&\'()*+,;='

  @doc """
  Checks if the character is a "unreserved" character in a URI.

  Unreserved characters are specified in [RFC3986, section 2.3](http://tools.ietf.org/html/rfc3986#section-2.3).
  """
  def char_unreserved?(c) do
    c in ?0..?9 or
