> I love the error handling
Even if you prefer manually checking for errors after every call that might fail, I fail to see how one can love goโs verbosity. Compare goโs
foo, err := bar()
if err != nil {
return ERR;
}
with something like (hypothetical)
foo := bar() ||| return ERR;
where the compiler, seeing that
bar returns an Either<int,err> can enforce the presence of the ||| clause or, alternatively, require later code to check for errors if the ||| clause isnโt present. I think thatโs both more robust (prevents one from forgetting to check for errors) and shorter (allowing for showing a lot more code on a screen or page)