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