Allow classes to reference each other
Improve error handling for ::