Are there examples of IDE services deliberately leveraging elaborate type systems? I'm struggling to think of what a richer type system enables in the IDE space. The existence of void* in C, interface{} in Go, or a lack of generics, doesn't seem to have limited possibilities.