I have a interface Foo
Foo
interface Foo { // omit implementation details }
It takes 3 generic params... so wheneve