Working on typechecker