Pre- and post-check functions were not being generated if there were arbitrary constraints defined, but there were no constraints imposed by type patterns in the function signature. Now always generate a pre- or post-check function if either of the two is the case.
Closes #2357 (closed)