Hmm, I feel my brain is a bit stuck in it's tracks here. Where I'm coming from I basically wanted a way of using an assert without side effects like emitting fail/success/error-events. Whit that mindset

 * raw
 * internal
 * naked
 * plain
 * core

makes sense. Such names are also good if you need to talk about them as nouns.

Another way to look at it (which I would maybe prefer though I'm not used to it in this context) is how would you use it:

 * test
 * check
 * predicate

At first I disliked predicates since in my head they are higher order functions. Though I think the word communicates best that it wont throw or have sideeffects. Also:

`when(assert.equals.predicate(a,b)).then(x)`

Looks kind of good to me. It looks like that would promote actually using referee in promisebased productioncode... especially the higher order ones:

``` javascript
var assert = referee.combinators.assert;
var refute = referee.combinators.refute;
function(arg) {
   when.all([
       assert.defined.predicate(),
       assert.greaterThan.predicate(12)]).then(x)
}
```

Not having an opinion yet, just thinking out loud.