Giving up on the idea of combining outcomes and failures. 

Just seems like too much work for a little bit of cleanliness. It's hard
to elegantly include support for things like checking (node.outcome ==
FAILURE) if you try to combine them.