complete type checking for node