Say I have an interface
interface Applicative {}
Now I want to define a function f that:
f
Unfortunately, typescript does not (yet?) implement higher kinded types.
See https://github.com/Microsoft/TypeScript/issues/1213 for details