Yes, when you use it. The following example has quite some performance
difference depending on the type chosen:
var context: Context = ...
[...]
let nodes = context.nodes
But without context it's hard to give advice. My guess is that the performance
difference doesn't matter, and when it does, you should do performance test.
The best performance is by the way the type that has the fewest indirections:
type
Context*[T] = object
nodes: seq[Node[T]]
but be aware that if you assign Context to another variable, you will create a
deep copy. So when you want to have a reference stored in another variable, you
should use the `addr` operator.