genericize more to continue with lookahead