some explanation for the ToTokens trait