One of the first things I tried in Rust a couple of years ago coming from Haskell. Unfortunately it's still not stabilized :(