whats_it_deep_of
    :: (a -> a)
    -> [(Int, Either Bool (Maybe [a]))]
    -> [(Int, Either Bool (Maybe [a]))]
-- The assumption here is necessary to tie-break in favor of the longest
-- nesting of fmaps.
whats_it_deep_of f = fmap (fmap (fmap (fmap (fmap f))))