code: function lookupProcessor(list) {
  	if (list instanceof Node)
  		return returnText;
  
  	var lookup = list[0];
  	if (lookup instanceof Array) {
  		return processors.fncall;
  	}
  
  	// TODO: evaluate the sanity of this.
  	if (list[0].type == "string" || list[0].type == "number")
  		return processors.refprop;
  
  	var processor = macros[lookup.key];
  	if (processor) return processor;
  
  	processor = processors[lookup.key];
  	if (processor) return processor;
  
  	processor = processors[lookup.type];
  	if (processor) return processor;
  
  	return processors.fncall;
  }
docs: TODO: we need to make the lookup smarter It shouldn't be just by name anymore but by name, num args, & arg types. this will allow us to construct much simpler macros as well as overload macro definitions.