bos/aeson — pull request #59 by mike-burns (2011-12-29 02:56:38+00:00)
Title: Use MonadPlus in (.:?) to produce whatever empty value is needed instead of always producing a Nothing on failure. This way (.:?) can be re-used for lists, Maybe, or whatever other MonadPlus you desire.

I've used this a few times in my libraries to produce lists or Maybes, as needed.

Here's an example (I had named it `(.:<)` in my code so as not to conflict with Aeson's, but have since changed that locally): https://github.com/mike-burns/github/blob/master/Github/Data.hs#L36