iterate typechecking