/**
* Returns a generator that emits items of the upstream generator only once (based on result of `hashCode` and `equals` method)
*
* Be sure to not overuse it has it may slow down your tests
*/
fun <T> Generator<T>.distinct(): Generator<T> = TODO()
Here is how the API could look like: