What is the difference?
An abstract type cannot be instantiated (in theory… right now the JS type system doesn’t enforce that, but you should not do
AbstractType.make() as it might fail in the future.)
I am still unclear on when to use just type and when to use abstract type.
I have not found ‘abstract type’ to provide any value. Don’t use it.
Theoretically, it should not make sense to instantiate an abstract type, for example, because something is missing. One way to come up with an abstract type is to refactor two concrete types by putting their common parts into an abstract one that cannot be used alone.