discard """ output: "true\ntrue" """ type TFooContainer[T] = object TContainer[T] = generic var c foo(c, T) proc foo[T](c: var TFooContainer[T], val: T) = discard proc bar(c: var TContainer) = discard var fooContainer: TFooContainer[int] echo fooContainer is TFooContainer # true. echo fooContainer is TFooContainer[int] # true. fooContainer.bar()