> the compiler tells you all the places your programm needs to handle the case is a tremendous bonus
Except this is simply not true if you have any wildcard patterns in any of your matches. Besides, it's easy to grep for one or each of the names of the types in your closed sum. Which is what you're going to do anyway if you have any wild card patterns!
> interface is not data
I don't know what you intend to communicate by saying this.