let rec mult = function
  m, n -> if is_zero (n)
            then zero ()
            else add (mult (m, pre (n)), m)