It doesn't. The following test:
```scala

    it("collect should call guard at most once") {
      var witness = 0
      def guard(x: String) = {
        witness += 1
        true
      }
      expect(some("hello") collect {
        case x @ "hello" if guard(x) => "ok"
      }).toEqual("ok")
      expect(witness).toEqual(1)
    }
```
fails expectedly with
```
[error]  x collect should call guard at most once
[error]     Expected 2 to equal 1.
```