<div dir="auto">Hi,<div dir="auto"><br></div><div dir="auto">If I have the following ADT</div><div dir="auto"><br></div><div dir="auto">data BookingState = Confirmed | Cancelled</div><div dir="auto"><br></div><div dir="auto">which had a very high chance of being expanded in the future to have more values. How do I ensure that every pattern match on BookingState matches each value explicitly. Basically prevent the '_' matcher ?</div><div dir="auto"><br></div><div dir="auto">If that is not possible, is the following possible instead: evolve BookingState and then find all possible occurrences of values of BookingState throughout my app?</div><div dir="auto"><br></div><div dir="auto">I'm basically trying to make sure that any a newly added state, which may require special-case handling is not automatically handled by the '_' branch. </div><div dir="auto"><br></div><div dir="auto">-- Saurabh. </div></div>