I think it would make the code easier to understand and maintain if these two types had slightly different names and there would be some kind of from_token and to_token methods that convert them into one another.
Furthermore, use Self instead of Token in core/response where applicable, to further differentiate between the two.