C++/ListRemoveIf: Recursive version of remove_if