anchor.diff:     ### Example:
      ```cl
      > (rsqrt (rational 1 4))
  -   out = (rational 1 2)
  +   out = 1/2
      ```"
     (let* [((xn xd) (normalised-rational-components x))]
       (rational (math/sqrt xn) (math/sqrt xd))))
  
positive.code:    ### Example:
     ```cl
     > (->rat 3.14)
     out = (rational 157 50)
     > (/ 157 50)
     out = 3.14
     ```"
  
negative.code:     :__mul r*
      :__div r/
      :__pow rexp
      :__lt  r<
      :__lte r<= })
  
  (defmethod (pretty rational) (x)
    (let* [((xn xd) (normalised-rational-components x))]
      (format nil "{%d}/{%d}" xn xd)))
  
  (defmethod (eq? rational rational) (x y)
    (let* [((xn xd) (normalised-rational-components x))
           ((yn yd) (normalised-rational-components y))]
      (and (= xn yn)
           (= xd yd))))
  
  (defun recip (x)
    "Compute the reciprocal of rational number X"
  