A library for functional programming in C++