- it's getting shorter and shorter!

-- another way to generate the list comprehension instead of checkAll
-- could be:
-- [check i o | (i, o) <- zip inA outA]

-- testing the whole thing
run = do
    print (checkAll inA outA)
    print (checkAll inB outB)

run = do
    print (checkAll inA outA)
    print (checkAll inB outB)
run = do
    print (checkAll inA outA)
    print (checkAll inB outB)