@djspiewak@fosstodon.org @fanf42@treehouse.systems @lachezar@mastodon.nu
That still has an issue that the method return signatures are not overriden.
So you can't do:
type Nel[+A] = ::[A]
val x: Nel[Int] = ::(1, ::(2, Nil)) // 1 :: 2 :: Nil is a List[Int]
val y: Nel[String] = x.map(_.toString) // Doesn't work, returns List[String]
@fanf42 @lachezar I mean, in fairness, type Nel[+A] = ::[A] works perfectly fine. It's just highly uncommon to see people do something like that.