a, как b в этом примере, является переменной типа. Он может быть создан с любым типом (тогда как b может быть создан любым типом, который удовлетворяет ограничению, что он также является экземпляром Num).
Пример scala работает совсем по-другому, поскольку система типа scala отличается от другой; Нет реальной концепции значения, когда-либо имеющего не полностью созданный тип, поэтому вам нужно назначить тип Left возможности вашего значения Either. Если учесть дополнительные ограничения, это заканчивается Nothing. В связи с тем, как работает система типа scala (Nothing является подтипом любого другого типа, поэтому вы можете рассматривать ее как двойную по отношению к типу Any), а Either[Nothing,B] также является Either[A,B] для любого a.