Figured out the generic compiler bug

TypeScript has a compiler bug concerning generic objects which have the
containing type as a type parameter. I loosened the typing on one of my
objects, with a TODO to get rid of it when the compiler works.

Now that the binding library actually compiles, I cleaned up my code
from earlier tonight to be error free.