sig type 'a key type ('a, 'b) t end