module G2.Data.Utils ( uncurry3 , uncurry4 , fst4 , snd4 , thd4 , fth4) where uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d uncurry3 f (a, b, c) = f a b c uncurry4 :: (a -> b -> c -> d -> e) -> ((a, b, c, d) -> e) uncurry4 f (a,b,c,d) = f a b c d fst4 :: (a, b, c, d) -> a fst4 (a, _, _, _) = a snd4 :: (a, b, c, d) -> b snd4 (_, b, _, _) = b thd4 :: (a, b, c, d) -> c thd4 (_, _, c, _) = c fth4 :: (a, b, c, d) -> d fth4 (_, _, _, d) = d