title: Is there a debugger "statement" for Haskell/GHCi/something else?
body: <h2>Background</h2>
  
  <p>I am learning about GHCi's :break feature. JS has a built in statement called <code>debugger;</code> which acts as a breakpoint if debugging is in progress, does nothing otherwise.</p>
  
  <h2>Question</h2>
  
  <p>Is there a similar statement/function for Haskell/GHCi?</p>
  
  <h2>Further specification</h2>
  
  <p>I am thinking something along the lines of <code>Debug.Trace.trace :: String -&gt; a -&gt; a</code>.</p>
  
  <p>It is okay if it uses <code>unsafePerformIO</code> internally, or relies on something GHCi specific as it is only meant for debugging.</p>
  
  <p>Or if there is nothing yet, couldn't something like this be achieved with <code>:set -fbreak-on-exception</code> and having a function that throws an exception and catches it immediately? (<code>unsafePerformIO</code> may be needed here as well, so that the function can be placed in pure code.)</p>