title: Finding all combinations of well-formed brackets
body: <p>This came up while talking to a friend and I thought I'd ask here since it's an interesting problem and would like to see other people's solutions.</p>
  
  <p>The task is to write a function Brackets(int n) that prints all combinations of <strong>well-formed</strong> brackets from 1...n. For Brackets(3) the output would be</p>
  
  <pre><code>()
  (())  ()()   
  ((()))  (()())  (())()  ()(())  ()()()
  </code></pre>