Fixed test values with ``ifelse``

Fixes issue reported by bizso09 on the mailing list.

I'm not entirely convinced that adding a ``return_list`` argument to ``PureOp.__call__`` is the best thing to do, since it means no Op can have such an argument. I don't think it's a big deal so I did it this way, but if someone believes it's a problem, I can change it to be a new method instead.