    -- | Heterogenous lists
    module Hackage.Security.Util.Stack (
        (:-)(..)
      ) where

    import Prelude

    data h :- t = h :- t
      deriving ((h :- t) -> (h :- t) -> Bool
    ((h :- t) -> (h :- t) -> Bool)
    -> ((h :- t) -> (h :- t) -> Bool) -> Eq (h :- t)
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    forall h t. (Eq h, Eq t) => (h :- t) -> (h :- t) -> Bool
    $c== :: forall h t. (Eq h, Eq t) => (h :- t) -> (h :- t) -> Bool
    == :: (h :- t) -> (h :- t) -> Bool
    $c/= :: forall h t. (Eq h, Eq t) => (h :- t) -> (h :- t) -> Bool
    /= :: (h :- t) -> (h :- t) -> Bool
    Eq, Int -> (h :- t) -> ShowS
    [h :- t] -> ShowS
    (h :- t) -> String
    (Int -> (h :- t) -> ShowS)
    -> ((h :- t) -> String) -> ([h :- t] -> ShowS) -> Show (h :- t)
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    forall h t. (Show h, Show t) => Int -> (h :- t) -> ShowS
    forall h t. (Show h, Show t) => [h :- t] -> ShowS
    forall h t. (Show h, Show t) => (h :- t) -> String
    $cshowsPrec :: forall h t. (Show h, Show t) => Int -> (h :- t) -> ShowS
    showsPrec :: Int -> (h :- t) -> ShowS
    $cshow :: forall h t. (Show h, Show t) => (h :- t) -> String
    show :: (h :- t) -> String
    $cshowList :: forall h t. (Show h, Show t) => [h :- t] -> ShowS
    showList :: [h :- t] -> ShowS
    Show)
    infixr 5 :-