this is a slightly odd pattern (and we use it a lot)

i wonder whether we want to wrap the result of  `_execute` in another iterabe, with some helper methods like `one` and/or `first`