It's supposedly a bug, but you can still do it.
let tail = tail return !failFence && block(tail) && !failFence