FPIC++: Functional Programming in C++