code: function krillPrimValidateRel(pred, key)
  {
  	var field, constant;
  
  	if (!pred[key])
  		throw (new VError('predicate %j: missing key "%s"', pred, key));
  
  	if (!(pred[key] instanceof Array))
  		throw (new VError('predicate %j: operator "%s": expected array',
  		    pred, key));
  
  	if (pred[key].length != 2)
  		throw (new VError(
  		    'predicate %j: "%s" array must have 2 elements',
  		    pred, key));
  
  	field = pred[key][0];
  	constant = pred[key][1];
  
  	if (typeof (field) != 'string')
  		throw (new VError('predicate %j: field "%s" is not a string',
  		    pred, key));
  
  	if (typeof (constant) != 'number' &&
  	    typeof (constant) != 'string' &&
  	    typeof (constant) != 'boolean')
  		throw (new VError('predicate %j: field "%s" is not a string, ' +
  		    'number, or boolean', pred, field));
  }
docs: /*
  Validates that the predicate has a valid format for relational predicates.
  That means that it fits the format:
  { key: [ field, constant ] }
  
  Input:
  - pred: The predicate
  - key: The key that we're interested in
  
  On return the following points have been validated:
  - That the key points to a two element array
  - That the first field is a valid type