[Soc2014] Official meta API

Is using ImmutableList really a good idea? Compared to a normal tuple, it raises an exception for something (`+=`) that is perfectly safe and useful to do with tuples, and other than that it just replaces Python's normal exceptions with different ones.

Python programmers know what tuples are, and that they can't be mutated, and they understand what `TypeError: 'tuple' object does not support item assignment.` means.

ImmutableList instead raises an exception with the message "The return type of '%s' should never be mutated. If you want to manipulate this list for your own use, make a copy first."

That obfuscates the fact that *you actually have a tuple* (which is great to know if, say, you want to use it as a dict key or add several of them together) and even claims that it's a list, which it is not.

Maybe I should open a ticket on this subject.