Tighten up syntax w.r.t. Haskell 98; this is disallowed:
(a `op` b) = ...
since a parenthesised lhs must be followed by at least one parameter.
isFunLhs (HsVar f) es | not (isRdrDataCon f)
= Just (f,False,es)
isFunLhs (HsApp f e) es = isFunLhs f (e:es)
-isFunLhs (HsPar e) es = isFunLhs e es
+isFunLhs (HsPar e) es@(_:_) = isFunLhs e es
isFunLhs _ _ = Nothing
---------------------------------------------------------------------------