FYI `fail` is a method of `Kernel`, it's available everywhere, `fail 'message'` is the same as doing `raise 'message'`

I'll look at separating this out into a separate scenario though.