trump                 :: [String] -> String
trump [xs, ys, _, [z]] | xc == z && yc /= z    = xs
                       | xc /= z && yc == z    = ys
                       | cardval x > cardval y = xs
                       | cardval x < cardval y = ys
                       | otherwise             = xs ++ (' ' : ys)
                       where xc = last xs
                             yc = last ys
                             x  = head xs
                             y  = head ys
trump                 :: [String] -> String
trump [xs, ys, _, [z]] | xc == z && yc /= z    = xs
                       | xc /= z && yc == z    = ys
                       | cardval x > cardval y = xs
                       | cardval x < cardval y = ys
                       | otherwise             = xs ++ (' ' : ys)
                       where xc = last xs
                             yc = last ys
                             x  = head xs
                             y  = head ys
trump [xs, ys, _, [z]] | xc == z && yc /= z    = xs
                       | xc /= z && yc == z    = ys
                       | cardval x > cardval y = xs
                       | cardval x < cardval y = ys
                       | otherwise             = xs ++ (' ' : ys)
                       where xc = last xs
                             yc = last ys
                             x  = head xs
                             y  = head ys