 
   @doc """
   Parse a version into a matchable value.
-
-  ## Examples
-
-      iex> Mix.Version.parse("1")
-      1
-      iex> Mix.Version.parse("1.0")
-      1.0
-      iex> Mix.Version.parse("1.0.0")
-      1.0.0
-      iex> Mix.Version.parse("1.0.0+alpha1")
-      1.0.0-alpha1
-      iex> Mix.Version.parse("1.0.0-alpha1")
-      1.0.0-alpha1
-      iex> Mix.Version.parse("1.0.3.4")
-      1.0.3.4
-
   """
   @spec parse(String.t) :: { :ok, Schema.t } | { :error, term }
   def parse(string) when is_binary(string) do


  Pre-releases are supported by appending `-[0-9A-Za-z-\.]`:

      "1.0.0-alpha3"

  Build information can be added by appending `+[0-9A-Za-z-\.]`:

      "1.0.0-alpha3+20130417140000"

  ## Requirements



  @doc """
  Get the matchable representation.
  """
  @spec to_matchable(String.t | Schema.t) :: Mix.Version.matchable
  def to_matchable(Schema[major: nil, source: source]) do
