title: Bacon.when not matching streams as expected
body: <p>In experimenting with Bacon.js, I've come across the following unexpected behavior:</p>
  
  <pre><code>    var email = $("#email")
                              .asEventStream("keyup")
                              .map(function(event) {
                                  return $(event.target).val();
                              })
                              .log();
  
      var validEmail = email.map(validateEmail).log();
  
      // submit.doAction('.preventDefault'); isn't working for some reason
      $('form').on('submit', function (event) { event.preventDefault() });
  
      var submit = $('form').asEventStream('submit');
  
      // postFormData is never called
      Bacon.when([email, validEmail, submit], postFormData);  
  </code></pre>
  
  <p>Each of the streams emits values appropriately, but the join pattern is never matched.</p>
  
  <p><a href="http://jsfiddle.net/3gsjmdr4/" rel="nofollow">Fiddle</a></p>