title: Midje, provided not working as I expect
body: <p>I have written the following Midje test:</p>
  
  <pre><code>(fact (followers-minus-friends ...name...) =&gt; ["Dude"]
        (provided (idset show-followers ...name...) =&gt; #{1 2 3}
                  (idset show-friends ...name...) =&gt; #{1 2}
                  (userinfos #{3}) =&gt; [{:screen_name "Dude"}]))
  </code></pre>
  
  <p>to test the following function (in a different namespace):</p>
  
  <pre><code>(defn followers-minus-friends [screenname]
    (let [difference-ids (difference (idset show-followers screenname)
                                     (idset show-friends screenname))
          userinfos (userinfos difference-ids)]
      (map :screen_name userinfos)))
  </code></pre>
  
  <p>The test may seem pretty useless, but I'm just trying to get accustomed to Midje. Somehow, the function idset just gets executed, which I wanted to prevent by providing a return value in the provided-clause. What could be an explanation for this?</p>
  
  <p><strong>EDIT</strong>: I have uploaded the project to Github here, in case you want to try to reproduce the above situation: <a href="https://github.com/Borkdude/twitter-utils" rel="nofollow">https://github.com/Borkdude/twitter-utils</a></p>