module Util where infixl 5 >. (>.) :: (a -> b) -> (b -> c) -> a -> c >. :: forall a b c. (a -> b) -> (b -> c) -> a -> c (>.) = ((b -> c) -> (a -> b) -> a -> c) -> (a -> b) -> (b -> c) -> a -> c forall a b c. (a -> b -> c) -> b -> a -> c flip (b -> c) -> (a -> b) -> a -> c forall b c a. (b -> c) -> (a -> b) -> a -> c (.) infixl 4 |> (|>) :: a -> (a -> b) -> b |> :: forall a b. a -> (a -> b) -> b (|>) a x a -> b f = a -> b f a x unwrapOr :: a -> Maybe a -> a unwrapOr :: forall a. a -> Maybe a -> a unwrapOr a _ (Just a x) = a x unwrapOr a y Maybe a _ = a y tup :: a -> b -> (a, b) tup :: forall a b. a -> b -> (a, b) tup a a b b = (a a, b b)