Predicates currently take a client.Object and return a bool. With generics, we might be able to have typed generics, which would let ppl avoid a type assertion inside their predicate when they want to access anything other than metadata.
We currently type to client.Object, but this is both too much in the case of a source.Channel that could take literally everything that might not actually be a client.Object and too little in the case of everything else, as we lose the type information.
Predicates currently take a
client.Objectand return abool. With generics, we might be able to have typed generics, which would let ppl avoid a type assertion inside their predicate when they want to access anything other than metadata.We currently type to
client.Object, but this is both too much in the case of asource.Channelthat could take literally everything that might not actually be aclient.Objectand too little in the case of everything else, as we lose the type information.