code: function krillPrimWalk(func, pred)
  {
  	var key, ii;
  
  	if (krillPrimTrivial(pred))
  		return;
  
  	key = krillPrimGetKey(pred);
  
  	switch (key) {
  	case 'and':
  	case 'or':
  		for (ii = 0; ii < pred[key].length; ii++)
  			krillPrimWalk(func, pred[key][ii]);
  
  		break;
  	default:
  		func(pred, key);
  		break;
  	}
  
  }
docs: /*
  Walk every leaf predicate and apply a function to it.
  
  Input:
  - func: A function of the signature void (*func)(predicate, key)
  - pred: A predicate that has previously been validated