generic package for handling primitive/rational/complex arithmetic, in their own package