def inspect
      if improper?
        result = 'Erlang::List['
        list = to_proper_list
        list.each_with_index { |obj, i| result << ', ' if i > 0; result << obj.inspect }
        result << ']'
        result << " + #{last(true).inspect}"
        return result
      else
        result = '['
        list = self
        list.each_with_index { |obj, i| result << ', ' if i > 0; result << obj.inspect }
        result << ']'
        return result
      end
    end
def inspect
      if improper?
        result = 'Erlang::List['
        list = to_proper_list
        list.each_with_index { |obj, i| result << ', ' if i > 0; result << obj.inspect }
        result << ']'
        result << " + #{last(true).inspect}"
        return result
      else
        result = '['
        list = self
        list.each_with_index { |obj, i| result << ', ' if i > 0; result << obj.inspect }
        result << ']'
        return result
      end
    end
Return the contents of this `List` as a programmer-readable `String`. If all the
 items in the list are serializable as Ruby literal strings, the returned string can
 be passed to `eval` to reconstitute an equivalent `List`.

 @return [::String]