I have a generic type Group that looks like this:
Group
// K -> Key // I -> Input type Group = { key: K; func: (i: I) => v