HsPar e -> checkPat e [] `thenP` (returnP . ParPatIn)
ExplicitList _ es -> mapP (\e -> checkPat e []) es `thenP` \ps ->
returnP (ListPatIn ps)
+ ExplicitPArr _ es -> mapP (\e -> checkPat e []) es `thenP` \ps ->
+ returnP (PArrPatIn ps)
ExplicitTuple es b -> mapP (\e -> checkPat e []) es `thenP` \ps ->
returnP (TuplePatIn ps b)
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
---------------------------------------------------------------------------