Hi Gerard,
I have the feeling that the authors have a really deep understanding of Haskell, among other languages, and want to apply a lot of the lessons learned on functional languages during these past years.
For instance, in Unison, applicative programming is the default. That means that a Scala code like:
for {
a <- x
b <- y
c <- z
} yield f(a, b, c)
or a equivalent Haskell code like:
f <$> x <*> y <*> z
or this other Haskell code:
f <$> lift(lift x)
<*> y
<*> z
will have a Unison equivalent code much more simpler:
f x y z
You can see a much better explanation in Rúnar Bjarnason talk here: https://www.youtube.com/watch?v=rp_Eild1aq8&feature=youtu.be&t=1910
So while I’m no Haskell expert, and much less a Unison expert, I think they are going in the right direction regarding the syntax of the language.