Fix a space leak in suchThat
Fix a space leak in suchThat

The old version, while pretty, was recursive and thus O(2n) in the
amount of stack space it would eat trying to search for a value.  This
is tremendously inefficient for large n, which can be the case if the
default size of generators is increased at all - which is a thing I
like to think we support.

typelift/SwiftCheck,typelift/SwiftCheck,CodaFi/SwiftCheck,typelift/SwiftCheck,typelift/SwiftCheck,CodaFi/SwiftCheck,CodaFi/SwiftCheck,CodaFi/SwiftCheck,CodaFi/SwiftCheck,typelift/SwiftCheck