   end
 
   @doc """
+  Register a program exit handler function.
+
   Registers a function that will be invoked
   at the end of program execution. Useful for
-  invoking a hook in a "script" mode.
-
-  The function must expect the exit status code
-  as argument.
+  invoking a hook in "script" mode.
+
+  The function must receive the exit status code
+  as an argument.
   """
   def at_exit(fun) when is_function(fun, 1) do
     :elixir_code_server.cast { :at_exit, fun }
   end
 
   @doc """
+  Execute a system command.
+
   Executes `command` in a command shell of the target OS,
   captures the standard output of the command and returns
   the result as a binary.

  end

  @doc """
  Returns Elixir's version as binary.
  """
  @spec version() :: String.t
  def version, do: get_version

  @doc """
  Returns a keywords list with version, git tag info and date.
  """
  @spec build_info() :: Keyword.t
  def build_info do

  end

  @doc """
  User home directory, exception on error.

  Same as `user_home/0` but raises `System.NoHomeError`
  instead of returning `nil` if no user home is set.
  """
