Shoki smart constructors support element type widening
jnape opened this issue · 0 comments
jnape commented
Since shoki
data structures are immutable, this should type-check:
interface Animal {}
class Dog implements Animal {}
class Cat implements Animal {}
StrictStack<Animal> animals = Shoki.strictStack(StrictStack.<Dog>strictStack());
...and perform no additional allocations.