Making List/Relation generic by backing implementation.
Adding toString.
Adding type to tuple's signature.
Removing some type specific code in List structures.
Reusing optimised basic value representations.