А противоречия с математической чистотой нет? Одно имя двум понятиям. Обычно в таком случае выдумывают новое имя. А ты предлагаешь послать математическую традицию в задницу почему? Потому что тебе не нравится один я? Ты даже перенёс определение функции из програмисткого в математическое, когда программиское стало неудобным, но не продумал переход. Прекращай софизм и объясни мне, чем юнион типы тебя не устраивают. Я понял, что меня лично ты хейтишь, но чем юнионы-то виноваты?
В математике есть, например, альфа-конверсия, чтобы одинаково названные в двух разных контекстах функции, ныне используемые в одном контексте, имели в нём разное имя