@mangoiv Interesting. I feel that you can probably get a similar level of conciseness if you're doing everything structurally and rely on inference everywhere, but I wouldn't want that? To me, it often helps to just write down types in order to understand a problem, or understand it better. If you want to introduce nominal types, then Haskell syntax already seems nearly optimal. I think these are extra lines well spent. If you make any of that implicit, then the benefit is gone.