def pop
      raise Erlang::ImproperListError if improper?
      return self if empty?
      new_size = size - 1
      return Erlang::List.new(head, tail.take(new_size - 1)) if new_size >= 1
      return Erlang::Nil
    end
def pop
      raise Erlang::ImproperListError if improper?
      return self if empty?
      new_size = size - 1
      return Erlang::List.new(head, tail.take(new_size - 1)) if new_size >= 1
      return Erlang::Nil
    end
Return a `List` containing all but the last item from this `List`.

 @example
   Erlang::List["A", "B", "C"].pop  # => Erlang::List["A", "B"]

 @return [List]