   @type t(value) :: [{key, value}]
 
   @doc """
-  Checks if the given argument is a keywords list or not.
+  Checks if the given argument is a keyword list or not.
   """
   @spec keyword?(term) :: boolean
   def keyword?([{key, _value} | rest]) when is_atom(key) do

  end

  @doc """
  Updates the `key` with the given function. If the `key` does
  not exist, inserts the given `initial` value.

  If there are duplicated entries, they are all removed and only the first one
  is updated.

  ## Examples

  end

  @doc """
  Checks if two keywords are equal. 
  
  Two keywords are considered to be equal if they contain
  the same keys and those keys contain the same values.

  ## Examples
