turn lack of equality support into runtime error

also used by observe_on queue