Moved some files around.

Changed error handling of the current type checking. Have to figure out some way to do this using object algebras... Kind of missing anonymous types that can implement functions right now. Fear I'll have to throw around numerous variables to get the needed info everywhere...