retract.spad line 52 [edit on github]
rational number testing and retraction functions. Date Created: March 1990
rational(x) returns x as a rational number; error if x is not a rational number.
rational?(x) returns true if x is a rational number, false otherwise.
rationalIfCan(x) returns x as a rational number, "failed" if x is not a rational number.