anchor.diff:  
       (debug/sethook)
   
  -
       (with (folded (const-struct :n 0))
         (for-each stack stacks
  -        (built-stack folded stack 1)))))
  -
  +        (build-stack folded stack (# stack)))
  +        ;; (build-rev-stack folded stack 1))
  +
  +      (finish-stack folded)
  +
  +      ;; (with (writer (w/create))
  +      ;;   (show-stack! writer mappings (# stacks) folded 13)
  +      ;;   (print! (w/->string writer))))))
  +
  +      (show-flame! mappings folded "" 15))))
   
   (defun run-lua (compiler args)
     :hidden
  
positive.code:     stats))
  
  (defun build-stack (parent stack i)
    ;; Increment the number of times hit
    (.<! parent :n (+ (.> parent :n) 1))
  
    (when (<= i (# stack))
      (let* [(elem (nth stack i))
             (hash (.. (.> first :source) "|" (.> first :linedefined)))
             (child (.> parent hash))]
        (unless child
          (set! child elem)
          (.<! first :n 0)
          (.<! parent hash child))
  
        (build-stack child stack (+ i 1)))))
  
  (defun profile-stack (fn mappings)
    :hidden
  
negative.code:                         (exit! 1)])))
           (case (string/lower (.> args :profile))
             ["none"  (exec)]
             [nil  (exec)]
             ["call"  (profile-calls exec (struct name lines))]
             ["stack" (profile-stack exec (struct name lines))]
             [?x
              (logger/put-error! logger (.. "Unknown profiler '" x "'"))
  