C++ compile time functional-style list playground