docs: function ast_walker(){function e(e){return[this[0],MAP(e,function(e){var t=[e[0]
  ];return e.length>1&&(t[1]=s(e[1])),t})]}function t(e){var t=[this[0]];return e!=
  null&&t.push(MAP(e,s)),t}function s(e){if(e==null)return null;try{i.push(e);var t=
  e[0],s=r[t];if(s){var o=s.apply(e,e.slice(1));if(o!=null)return o}return s=n[t],
  s.apply(e,e.slice(1))}finally{i.pop()}}function o(e){if(e==null)return null;try{
  return i.push(e),n[e[0]].apply(e,e.slice(1))}finally{i.pop()}}function u(e,t){var n=
  {},i;for(i in e)HOP(e,i)&&(n[i]=r[i],r[i]=e[i]);var s=t();for(i in n)HOP(n,i)&&(
  n[i]?r[i]=n[i]:delete r[i]);return s}var n={string:function(e){return[this[0],e]
  },num:function(e){return[this[0],e]},name:function(e){return[this[0],e]},toplevel
  :function(e){return[this[0],MAP(e,s)]},block:t,splice:t,"var":e,"const":e,"try":
  function(e,t,n){return[this[0],MAP(e,s),t!=null?[t[0],MAP(t[1],s)]:null,n!=null?
  MAP(n,s):null]},"throw":function(e){return[this[0],s(e)]},"new":function(e,t){return[
  this[0],s(e),MAP(t,s)]},"switch":function(e,t){return[this[0],s(e),MAP(t,function(
  e){return[e[0]?s(e[0]):null,MAP(e[1],s)]})]},"break":function(e){return[this[0],
  e]},"continue":function(e){return[this[0],e]},conditional:function(e,t,n){return[
  this[0],s(e),s(t),s(n)]},assign:function(e,t,n){return[this[0],e,s(t),s(n)]},dot
  :function(e){return[this[0],s(e)].concat(slice(arguments,1))},call:function(e,t)
  {return[this[0],s(e),MAP(t,s)]},"function":function(e,t,n){return[this[0],e,t.slice
  (),MAP(n,s)]},"debugger":function(){return[this[0]]},defun:function(e,t,n){return[
  this[0],e,t.slice(),MAP(n,s)]},"if":function(e,t,n){return[this[0],s(e),s(t),s(n
  )]},"for":function(e,t,n,r){return[this[0],s(e),s(t),s(n),s(r)]},"for-in":function(
  e,t,n,r){return[this[0],s(e),s(t),s(n),s(r)]},"while":function(e,t){return[this[0
  ],s(e),s(t)]},"do":function(e,t){return[this[0],s(e),s(t)]},"return":function(e)
  {return[this[0],s(e)]},binary:function(e,t,n){return[this[0],e,s(t),s(n)]},"unary-prefix"
  :function(e,t){return[this[0],e,s(t)]},"unary-postfix":function(e,t){return[this
  [0],e,s(t)]},sub:function(e,t){return[this[0],s(e),s(t)]},object:function(e){return[
  this[0],MAP(e,function(e){return e.length==2?[e[0],s(e[1])]:[e[0],s(e[1]),e[2]]}
  )]},regexp:function(e,t){return[this[0],e,t]},array:function(e){return[this[0],MAP
  (e,s)]},stat:function(e){return[this[0],s(e)]},seq:function(){return[this[0]].concat
  (MAP(slice(arguments),s))},label:function(e,t){return[this[0],e,s(t)]},"with":function(
  e,t){return[this[0],s(e),s(t)]},atom:function(e){return[this[0],e]},directive:function(
  e){return[this[0],e]}},r={},i=[];return{walk:s,dive:o,with_walkers:u,parent:function(
  ){return i[i.length-2]},stack:function(){return i}}}