<@U12AGS8JG> PR's up :satisfied: <https://github.c...
# kotest
m
s
ok cool will take a look shortly
👍 1
I can't see where the edge cases are calculated
Am I going mad
m
It's in Arb.flatmap. the function already does that.
That list.flamap(otherList)
s
In bind
m
Yeah bind uses flatmap, downthe bottom in the private function
Copy code
private fun <A, B, C> Gen<A>.bind(other: Gen<B>, fn: (A, B) -> C): Arb<C> {
   val arb = when (this) {
      is Arb -> this
      is Exhaustive -> this.toArb()
   }

    return arb.flatMap { a ->
      when (other) {
         is Arb -> other.map { fn(a, it) }
         is Exhaustive -> other.toArb().map { fn(a, it) }
      }
   }
}
s
Ah got it
Merged
m
🎉 thanks @sam!
s
Thanks for the work
m
All good! Thanks for your support Sam you've been a champ. I'm quite sure that's most if not all of the core functions migrated away from the old arb builder.
s
Yep things much better. Looking solid for inclusion in a 4.3 release.
🎉 1