    {- tuple utility functions
     -
     - Copyright 2017 Joey Hess <id@joeyh.name>
     -
     - License: BSD-2-clause
     -}

    module Utility.Tuple where

    fst3 :: (a,b,c) -> a
    fst3 :: forall a b c. (a, b, c) -> a
    fst3 (a
    a,b
    _,c
    _) = a
    a

    snd3 :: (a,b,c) -> b
    snd3 :: forall a b c. (a, b, c) -> b
    snd3 (a
    _,b
    b,c
    _) = b
    b

    thd3 :: (a,b,c) -> c
    thd3 :: forall a b c. (a, b, c) -> c
    thd3 (a
    _,b
    _,c
    c) = c
    c