@mora I don't see how your example would not work @jcosborn syntax:
```nim
type Has[T] = concept c
type T = type(g.gimme())
```
Then ``T`` is determined and one could treat it as a concrete type in
subsequent statements (i.e. - when another ``T`` appears, it must be the same)