I am implementing a rational number library for personal use, and would like a construction option to be from_integer, where the method takes any data type capable of being cast