The method signature at the end doesn't matter you are right there but what the model is trained to do matters a ton. If it was trained to solve logical problems or to fact check etc, then it is no longer just a token predictor. But as is all the model is trained to do is to predict tokens, and you notice that immediately when you use it because it leads to obvious issues with what the model can do. It is really easy to target sparse parts of its data and get it to say nonsense because it is just trained to predict tokens.