The documentation in ConditionalKIF.md explains this better. To make the API simpler and prevent a combinational explosion of methods they take generic types instead.