F - The type witness representing the type constructor. This is often a nested Mu empty class.A - The type applied to the type constructor.public interface App<F extends K1,A>
For a generic (or higher kinded) type F<_>, the use of App<F.Mu, A>
 corresponds to the parameterized type F<A>. This allows algorithms to be generified over the
 type of the constructor F, which is not otherwise possible in Java.
K1