There are several places where callbacks are called inside try-blocks. This makes errors further in the chain dangerous and difficult to notice, as they will cause the catch block to fire an errback in some spurious moment. There is issue #37, but the fix there is quite noisy and so may have hidden the intention here.
Commit 806b0ef fixed this only for get, the same problem persists for set.
closing this case as older, please reopen if you want to discuss more