def last(allow_improper = false)
      if allow_improper and improper?
        list = self
        list = list.tail while list.tail.kind_of?(Erlang::List)
        return list.tail
      else
        raise Erlang::ImproperListError if improper?
        list = self
        list = list.tail until list.tail.empty?
        return list.head
      end
    end
def last(allow_improper = false)
      if allow_improper and improper?
        list = self
        list = list.tail while list.tail.kind_of?(Erlang::List)
        return list.tail
      else
        raise Erlang::ImproperListError if improper?
        list = self
        list = list.tail until list.tail.empty?
        return list.head
      end
    end
Return the last item in this list.
 @return [Object]