   Returns the pid of a new process started by the application of `fun`
   and reference for a monitor created to the new process.
   """
+  @spec spawn_monitor((() -> any)) :: {pid, reference}
   def spawn_monitor(fun) do
     :erlang.spawn_monitor(fun)
   end

  @doc """
  Returns all keys that have the given `value`.
  """
  def get_keys(value) do
    :erlang.get_keys(value)
  end


  See http://www.erlang.org/doc/man/erlang.html#demonitor-2 for more info.
  """
  @spec demonitor(reference) :: true
  @spec demonitor(reference, options :: [:flush | :info]) :: boolean
  def demonitor(monitor_ref, options // []) do
    :erlang.demonitor(monitor_ref, options)
  end
