I have a nested list with some NAs, and I want to discard the NAs from the list.

`purrr::discard` does not work recursively:

```r
l <- list(a = NA, b = T, c = c(F, F))
purrr::discard(l, is.na)

```

Throws this error:

> 
> Error: Predicate functions must return a single TRUE or FALSE, not a logical vector of length 2
> 
> 
> 

I would like to end up with the following list in this case:

`l2 <- list(b = T, c = c(F, F))`

(purrr version: 0.3.2)