do n <- name let trimmed = trim n guard (length trimmed /= 0) return (toUpperCase trimmed)
toUpperCase . guard (\x -> length x /= 0) . trim
mfilter' :: MonadPlus m => (a -> Bool) -> a -> m a mfilter' f = mfilter f . return
toUpperCase <=< mfilter' (\x -> length x /= 0) . trim