hiratara/p5-Data-Monad-CondVar — pull request #5 by yak1ex (2014-02-21 15:21:24+00:00)
Title: Handle multiple calls of flat_map() etc.

I'm not familiar with monad and just using your module to ease a chain of async functions, so I'm not sure whether this is a valid finding or not, especially, from the viewpoint of monad.

Anyway, the following code is blocked forever.
```perl
use feature qw(say);
use AnyEvent;
use Data::Monad::CondVar;

my $cv = cv_unit()->sleep(1);
AnyEvent::CondVar->all(
$cv->map(sub { say 1; }),
$cv->map(sub { say 2; }),
)->recv; # Blocked forever
```

This is because AnyEvent::CondVar::cb() overwrites the previous callback. If we call the previous callback also, the above code works as my expectation.