:: (a -> Bool) -> [a] -> Maybe a -package:calligraphy package:generic-deriving