There is a standard tryPick function if F# that returns the first (from left-to-right if any at all) successful application of a function on an element of a list. I am hopping there is a standard function like that in Haskell. I tried Hoogle and didn't find anything.
I am new to Haskell and I am not sure what the right way of doing it is. Would you do it like this:
tryPick:: (a -> Maybe b) -> [a] -> Maybe b tryPick try xs = case Maybe.mapMaybe try xs of [] -> Nothing (x:_) -> Just x ?