Use symbol rather than name in letrec;
List has custom __repr__() implementation;
Assertions now check evaluation error message