Switch to tailrec.rs; use unboxed closures