getFours :: Show a => [[a]] -> [[a]]
getFours xss = trace (show . map length $ fours) foursConcat
  where
    horizes      = [getHoriz       row col xss | row <- [0..19], col <- [0..16]]
    verts        = [getVert        row col xss | row <- [0..16], col <- [0..19]]
    slashes      = [getSlash       row col xss | row <- [0..16], col <- [0..16]]
    backslashes  = [getBackslash   row col xss | row <- [0..16], col <- [0..16]]
    fours        = [horizes, verts, slashes, backslashes]
    foursConcat  = concat [horizes, verts, slashes, backslashes]
getFours :: Show a => [[a]] -> [[a]]
getFours xss = trace (show . map length $ fours) foursConcat
  where
    horizes      = [getHoriz       row col xss | row <- [0..19], col <- [0..16]]
    verts        = [getVert        row col xss | row <- [0..16], col <- [0..19]]
    slashes      = [getSlash       row col xss | row <- [0..16], col <- [0..16]]
    backslashes  = [getBackslash   row col xss | row <- [0..16], col <- [0..16]]
    fours        = [horizes, verts, slashes, backslashes]
    foursConcat  = concat [horizes, verts, slashes, backslashes]
getFours xss = trace (show . map length $ fours) foursConcat
  where
    horizes      = [getHoriz       row col xss | row <- [0..19], col <- [0..16]]
    verts        = [getVert        row col xss | row <- [0..16], col <- [0..19]]
    slashes      = [getSlash       row col xss | row <- [0..16], col <- [0..16]]
    backslashes  = [getBackslash   row col xss | row <- [0..16], col <- [0..16]]
    fours        = [horizes, verts, slashes, backslashes]
    foursConcat  = concat [horizes, verts, slashes, backslashes]