fileTest :: (FilePath -> IO Bool) -> Find a a
fileTest p =
    Find $ \(a, fp) -> p fp >>= return . (\b -> if b then [(a, fp)] else [])
fileTest :: (FilePath -> IO Bool) -> Find a a
fileTest p =
    Find $ \(a, fp) -> p fp >>= return . (\b -> if b then [(a, fp)] else [])
fileTest p =
    Find $ \(a, fp) -> p fp >>= return . (\b -> if b then [(a, fp)] else [])