EsolangingFruit
I recently finished a Brain-Flak-inspired functional language called Flurry. You can find a detailed description of the language's semantics [here](https://github.com/Reconcyl/flurry).
One peculiarity of the language is that, because of the limitations of strict evaluation and the fact that programs only have access to a single stack, I have found it very difficult to write an expression that has the side effect of swapping the top two elements on the stack. This is the shortest way I've found to do it so far:
<[<><<>()[<>{{}}]()>]()[<>{{}}]()>{}{}{{()}}
## The Challenge
Your task is to write a Flurry expression such that, if the two values on top of the stack are `a` and `b`, the top two values are `b` and `a` after the expression is evaluated. The return value of the expression itself is irrelevant (in the above example, it returns the K combinator).
- The effect of the expression cannot depend on any other stack values or on the height of the stack.
- The effect of the expression cannot depend on the top two stack values being Church numerals. They may be arbitrary functions.
This is code-golf, so the shortest valid answer (in bytes) wins.