C++ template library for fans of functional programming