Reconciling exhaustive pattern matching with objects | DeepDyve