...  ...  @@ 303,15 +303,13 @@ This is the rationale for the most complicated synonyms, the bidirectional ones. 


where *cfunlhs* is like *funlhs*, except that the functions symbol is a *conid* instead of a *varid*.









Example:



Example, using [ViewPatterns](viewpatterns):






```wiki



pattern Succ n < n1  let n = n11, n >= 0 where



pattern Succ n < ((\x > (x1) <$ guard (x > 0)) > Just n) where



Succ n = n + 1



```






**TODO**: Rewrite this example to not use [ViewPatternsAlternative](viewpatternsalternative)









The first part as is before and describes the expansion of the synonym in patterns. The second part describes the expansion in expressions.




...  ...  