BIRDS

Combinators implemented using Rust macros.

Probably a better way to do this is using functions and generics