   Returns the current process.
   """
   def self do
-    :erlang.self
+    :erlang.self()
   end
 
   @doc """

  (and due to the link, an exit signal with exit reason :noconnection will be
  received). Otherwise works like spawn/3.
  """
  def spawn_link(node, fun) do
    :erlang.spawn_link node, fun
  end

  @doc """
  Returns the pid of a new process started by the application of
  `module.function` to `args`. A link is created between the calling process
  and the new process, atomically. Otherwise works like spawn/3.
  """
  def spawn_link(module, function, args) do
    :erlang.spawn_link module, function, args
  end

  @doc """
  Returns the pid of a new process started by the application of


  See http://www.erlang.org/doc/man/erlang.html#register-2 for more info.
  """
  defdelegate [register: 2], to: :erlang

  @doc """
  Removes the registered name, associated with a pid or a port identifier.

  See http://www.erlang.org/doc/man/erlang.html#unregister-1 for more info.
  """
  defdelegate [unregister: 1], to: :erlang

  @doc """
  Returns the pid or port identifier with the registered name.
