
  -spec erase(Key) -> Val | undefined when Key :: term(), Val :: term().

  Returns the value Val associated with Key and deletes it from
  the process dictionary. Returns undefined if no value is
  associated with Key. The average time complexity for the current
  implementation of this function is O(1) and the worst case time
  complexity is O(N), where N is the number of items in the
  process dictionary. Example:

    > put(key1, {merry, lambs, are, playing}),
    X = erase(key1),
    {X, erase(key1)}.
    {{merry,lambs,are,playing},undefined}
