improved likely_new type checking