{-# OPTIONS -fglasgow-exts #-} data Z = Z data S a = S a z = Z s = S the :: S Z -> () the _ = ()
Other options:
no subject
Тогда the (s z) становится действительно избранным - другие применения функции the не компилятся (кроме the undefined, конечно)