   @doc """
   Deletes the given key from the dictionary.
   """
+  @spec delete(term) :: term | nil
   def delete(key) do
     nillify :erlang.erase(key)
   end

  `module.function(args)`. A link is created between the calling process
  and the new process, atomically. Otherwise works like spawn/3.
  """
  def spawn_link(mod, fun, args) do
    :erlang.spawn_link(mod, fun, args)
  end

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