Fix pretty printing for tuples as discoered by @JoeyEremondi and/or @jmite in PR #446

This fix uses some existing functions for reliably figuring out if
something is a tuple.
Fix issue with unparenthesized patterns in pretty printed lambdas pointed out by @JoeyEremondi in #446

Regarding the proposed fix in #446: The pattern pretty printer is
correct for cases where you just want the pattern, such as in
case-expressions. In some contexts, parentheses are required though, so
this fix addresses those places specifically.
Cosmetic: use a qualified import to clarify uses of isTuple