```nim type Node[T] = object val: T next: ref Node[T] HHSet[T, Key] = object data: seq[Node[T]] proc rawGet(hhs:HHSet; key: hhs.Key): ptr Node[hhs.T] = return nil # body doesn't matter var hhs: HHSet[string, cstring] discard hhs.rawGet("hello".cstring) ``` ``` in.nim(13, 12) template/generic instantiation from here in.nim(9, 39) Error: cannot instantiate: 'result:type' ``` Changing rawGet to this works fine: ```nim proc rawGet(hhs: HHSet; key: hhs.Key): auto = return cast[ptr Node[hhs.T]](nil) # body doesn't matter ```