Now also supports composing type constructors with one argument

This is in particular useful to generate functor instances for
intersection types.