Moved all typecheck-datastructures together,refactor
Finalizing the typechecker, preparing to start interpreter