You could use a macro to implement the functions for all numeric types.
You could remove the recursive call in the error case and redactor the code to use a loop instead. This would remove the possibility of a user caused stack overflow.
It seems useful! I don't often need that functionality, but it seems good.
The extra printing when doing things is usually not very useful, but if it's a personal utility crate and you as the main user don't mind the extra prints, it should be fine.