put some polish on the rational arithmetic, much better diagnostics for numeric
threshold failures, better unit testing for rationals and diagnostics