raskell 0.1.1

Haskell-style functional programming for Rust
Documentation
error[E0277]: `Vec<{integer}>` cannot be bound with `<-` inside an `hdo!` async block
 --> tests/ui/fail/async_list_bind.rs:5:14
  |
4 |       let _ = hdo!(async {
  |  _____________-
5 | |         x <- vec![1, 2, 3];
  | |              ^^^^^^^^^^^^^ expected `Option` or `Result`
6 | |
7 | |         pure x
8 | |     });
  | |______- required by a bound introduced by this call
  |
  = help: the trait `raskell::__private::HdoAsyncBind<_>` is not implemented for `Vec<{integer}>`
  = note: an `hdo!` async block binds `Option` and `Result`; lists have no short-circuiting form
  = note: to await a future, write the `.await` yourself: `x <- fetch().await;`
help: the following other types implement trait `raskell::__private::HdoAsyncBind<B>`
 --> src/__private.rs
  |
  | / impl<T, B> HdoAsyncBind<B> for Option<T>
  | | where
  | |     B: HdoShortCircuit<NoneResidual>,
  | |_____________________________________^ `Option<T>`
...
  | / impl<T, E, B> HdoAsyncBind<B> for Result<T, E>
  | | where
  | |     B: HdoShortCircuit<E>,
  | |__________________________^ `Result<T, E>`