-- Client that uses the Stack ADT module StackClient where import Stack s1 = push 3 (push 4 empty) exGood = pop s1 -- isEmptyBad :: Stack a -> Bool -- isEmptyBad s = case s of -- MkStack [] -> True -- _ -> False isEmpty :: Stack a -> Bool isEmpty s = case pop s of Nothing -> True _ -> False