Fix issue #20. When the Top of a kind is present without variables, we
distribute it (redudantly) under all variables to simplify their pretty-printing. Hence, instead of having e.g. : ('a \ (Int)) | Char | Int | Atom) we have ('a | Char | Int | Atom)