Remove LoT parameter of GenericK
This implements the proposal described in #4 (closed)
As mentioned in that issue, this makes it easier to construct generic definitions parametrically over the arity of the type constructor. For example the following paste contains a generic parser instantiated with some GADTs Foo1 :: Type -> Type
and Foo2 :: Type -> Type -> Type
using this patch. The implementation does not have any special cases for each arity:
https://gist.github.com/Lysxia/7cd48d90a87dee18b3c402b183e71b64
Edited by Li-yao Xia