Applies function .f to each element in .x as per purrr::map.
If the value of the element is itself a list, then the function is applied to that in turn.
The process is followed recursively until an atomic value at the leaf nodes of the list is found.