Type-checking is nearly completed. Some checks still need to be put in place