Type: decouple library from its internal representation
TypeList: fix the ADL-related bug