Well, we already left Nim <1.0 behind and the "free running" or strictly local
type parameters are here to stay with the [T] notation. It might be interesting
to think about module-wide type parameters though (extended scope). With
concept[T], we have (in principle) these in Nim. Haskell has typeclasses for
them. (I am still thinking about module-wide type parameters. They would be
declared aside the import / export statements. They could model
abstract/existential types with an intra-module and an exported part. This
could reduce the annotation burden and the compiler could check if the
abstraction rules are obeyed...)