>Well, which abilities does it need then? No idea.
Abilities called IO and Exception.
I am sure you are familiar with effect systems and algebraic effects, right? Abilities are what algebraic effects are called in Unison:
https://www.unison-lang.org/docs/fundamentals/abilities/
So, in Haskell you would have IO monad and Exception monad, but in Unison you have an IO ability and an Exception ability.
If you want to know more:
https://www.unison-lang.org/docs/language-reference/abilitie...
and:
Convent, L., Lindley, S., McBride, C. and McLaughlin, C., 2020. Doo bee doo bee doo. Journal of Functional Programming, 30, p.e9.
https://arxiv.org/pdf/1611.09259.pdf