module HaskellWorks.CabalCache.Data.List
  ( tuple2ToDL,
    tuple2ToList,
    tuple2ToNel,
  ) where

import Data.List.NonEmpty (NonEmpty(..))
import HaskellWorks.Prelude

tuple2ToDL :: (a, a) -> [a] -> [a]
tuple2ToDL :: forall a. (a, a) -> [a] -> [a]
tuple2ToDL (a
a, a
b) = (a
aa -> [a] -> [a]
forall a. a -> [a] -> [a]
:) ([a] -> [a]) -> ([a] -> [a]) -> [a] -> [a]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a
ba -> [a] -> [a]
forall a. a -> [a] -> [a]
:)

tuple2ToList :: (a, a) -> [a]
tuple2ToList :: forall a. (a, a) -> [a]
tuple2ToList (a, a)
ab = (a, a) -> [a] -> [a]
forall a. (a, a) -> [a] -> [a]
tuple2ToDL (a, a)
ab []

tuple2ToNel :: (a, a) -> NonEmpty a
tuple2ToNel :: forall a. (a, a) -> NonEmpty a
tuple2ToNel (a
a, a
b) = a
a a -> [a] -> NonEmpty a
forall a. a -> [a] -> NonEmpty a
:| [a
b]