code: function (node) {
  
  			// Does this node have a body? If so we can replace its contents.
  			if (node.body && node.body.length) {
  				node.body =
  					[].slice.call(node.body, 0)
  					.reduce(function(body, node) {
  
  						if (!~allowedPrepend.indexOf(node.type))
  							return body.concat(node);
  
  						id++;
  						sourceMapAdd(id, node, true);
  
  						return body.concat(
  							expressionStatement(
  								callExpression(filetag, id)
  							),
  							node
  						);
  
  					}, []);
  			}
  
  			if (node.noReplace)
  				return;
  
  			// If we're allowed to replace the node,
  			// replace it with a Call Expression.
  
  			if (~allowedReplacements.indexOf(node.type))
  				return (
  					id ++,
  					sourceMapAdd(id, node, false),
  					callExpression(filetag, id, node)
  				);
  		}
docs: Leave is where we replace the actual nodes.