more type refactoring
Merge pull request #1565 from WalterBright/b37

more type refactoring
move slist to back end
Merge pull request #1566 from WalterBright/b38

move slist to back end
refactor type_function
Merge pull request #1567 from WalterBright/b39

refactor type_function