Я могу сделать что-то вроде (def-structural T (args ....))}
, затем применить T как функцию в base-env/base-types.rkt
(я имею в виду, я могу написать (T arg ...)
).
Но я хочу определить -HT
как имя для (-poly (a b) (Un (T1 a b) (T2 a b)))
(для некоторых T1
T2
).
Я пытался (define -HT (-poly ....))
, и тогда я не могу написать (-HT a b)
позже в base-env/base-types.rkt
.