ResultPicker

Result picker was designed to simply yield return value before the block ends
My own use case was returning model built inside transaction, which could be rolled back
because it was invalid. Normally, solution is

x=nilsomethingdostuffx=valuemore_stuffendx

which is ugly. The better idea is to wrap this stuff inside one of your methods
e.g. synchronize, transaction, and this class allows you to DRY