playing around with explicit dual categories via a kind constructor