Probably we should say "union" instead of sum, as typescript unions are not discriminated. string | string in typescript is exactly the same as just string, while Either[String, String] is a type which is exactly a sum of two string types. Plus Either is biased towards R, the happy path value.
Isn't this beautiful: https://github.com/7mind/distage-example/blob/develop/bifunc... ?