Extend normalize_tuple to visit dict comprehension
More string  conversion

* string -> char
* string -> double
Make std::tuple hashable

So that it can be used as a key for a dictionary.
Rework type inference combination

Relies on __combined rather than operator+. This is important to handle
tuples correctly, because

tuple<int,int> + tuple<int, int> == tuple<int,int, int, int>

while

__combined<tuple<int,int>, tuple<int, int>>::type == tuple<int, int>
Handle Y' rosetta code series

A very beautiful one, that once again raised a lot of errors...