Void as an associated type?

Void not carrying over like you're expecting leads to the necessity to do this kind of thing: