 
   ## Struct
 
-  The version is represented by the Version struct and fields
+  The version is represented by the `Version` struct and fields
   are named according to SemVer: `:major`, `:minor`, `:patch`,
-  `:pre` and `:build`.
+  `:pre`, and `:build`.
 
   ## Requirements
 
   Requirements allow you to specify which versions of a given
-  dependency you are willing to work against. It supports common
-  operators like `>=`, `<=`, `>`, `==` and friends that
+  dependency you are willing to work against. Requirements support common
+  operators like `>=`, `<=`, `>`, `==`, and friends that
   work as one would expect:
 
       # Only version 2.0.0

  end

  @doc """
  Parses a version string into a `Version`.

  ## Examples



  Returns `true` if `version` satisfies `requirement`, `false` otherwise.
  Raises a `Version.InvalidRequirementError` exception if `requirement` is not
  parsable, or a `Version.InvalidVersionError` exception if `version` is not parsable.
  If given an already parsed version and requirement this function won't
  raise.

  ## Options

    * `:allow_pre` (boolean) - when `false`, pre-release versions will not match
      unless the operand is a pre-release version. See the table above
      for examples. Defaults to `true`.

  ## Examples

