# [Jelly], <s>50</s> 41 [bytes]

    ®“œṣ⁾“F”jЀFvµÐL
    “()“{}“[]“<>”©ẋ"FŒ!QÇÐḟY

Plain and inefficient.

**[Try it online!]** (times out at TIO for [1,1,1,1] - yes, inefficient.)

### How?

*updating...*

    œṣ⁾()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#@39o3aOGOUcnP9y5@FHjPiDT7VHD3KzDEx41rXErO7T18AQfLqCghiaQqK4FEtGxQMLGDqjo0MqHu7qV3I5OUgw83H54wsMd8yP///8fbahjAITGsQA