Exercise: Map tree
Take a possibly nested list of items, a test function, and a transformation
function, Return a list identical to the input list except that the items
passing the test functions are altered with the transformation function. For
example, if the input list is [[1, 2], [3, 4]], the test function is lambda
x: x % 2 == 0, and the transformation function is lambda x: x * 2, then the
output should be [[1, 4], [3, 8]].