Constructing coercions for associated type?