I have a few types that are like this
// a value that is aware of its key type (K) Bar // something that deals with such values and keys Foo
Guice's factory cannot build TypeVariable instances. You'll need to implement this interface directly as you need it.
TypeVariable
Note that Guice doesn't allow bindings for types that aren't fully-qualified. For example, you can bind a Map but you can't bind a Map.
Map