fixing things to work with recursive List type

including switched bind/polymorph to have TypeSpecs instead of ModSym
fix a few bugs in function dispatch