# [Jelly], 50 [bytes]

    œṣ⁾()Fœṣ⁾{}Fœṣ⁾[]Fœṣ⁾<>FµÐL
    “(){}[]<>”s2¤ẋ"FŒ!QÇÐḟ

Plain and inefficient.

**[Try it online!]**

### How?

    œṣ⁾()Fœṣ⁾{}Fœṣ⁾[]Fœṣ⁾<>FµÐL - Link 1: recursive reduction: string
                            µÐL - loop until no change:
      ⁾()   ⁾{}   ⁾[]   ⁾<>     -   literals "()", "{}", "[]", and "<>"
    œṣ    œṣ    œṣ    œṣ        -   split at occurrences of
         F     F     F     F    -   flatten
    
    “(){}[]<>”s2¤ẋ"FŒ!QÇÐḟ - Main link: list: [n(), n{}, n[], n<>]
                ¤          - nilad followed by links as a nilad:
    “(){}[]<>”             -   literal "(){}[]<>"
              s2           -   split into twos
                  "        - zip with:
                 ẋ         -   repeat list
                   F       - flatten
                    Œ!     - all permutations (yeah, it's inefficient!)
                      Q    - de-duplicate
                        Ðḟ - filter discard if:
                       Ç   -   call last link (1) as a monad (non-empty is truthy, while empty is falsey)


[Jelly]: https://github.com/DennisMitchell/jelly
[bytes]: https://github.com/DennisMitchell/jelly/wiki/Code-page
[Try it online!]: https://tio.run/nexus/jelly#@3908sOdix817tPQdIMxq2vhzOhYONPGzu3Q1sMTfLgeNczR0KyujY61sXvUMLfY6NCSh7u6ldyOTlIMPNx@eMLDHfP/H26P/P8/2lDHAAiNYwE "Jelly – TIO Nexus"