Generate legal DChkCase expressions when defunctionalization is trivial

In some programs, such as ```main = putStrLn "Hello World"```, defunctionalization does not introduce any new constructors, and as a result there are no cases for APPLY to handle. Previously empty DChkCase expressions were generated, which have uncertain semantics. This patch instead generates a definition of APPLY which explicitly returns an undefined value.