type Bar[T] = ref object
value: T
type types = int32|int64 # if I change this to just int32 or int64 it works
proc Foo[T: Bar[types]](): T =
when T is Bar: nil
discard Foo[Bar[int32]]()
aW1wb3J0IHN5c3RlbQoKdHlwZSBCYXJbVF0gPSByZWYgb2JqZWN0CiAgdmFsdWU6IFQKCnR5cGUgdHlwZXMgPSBpbnQzMnxpbnQ2NCAjIGlmIEkgY2hhbmdlIHRoaXMgdG8ganVzdCBpbnQzMiBvciBpbnQ2NCBpdCB3b3JrcwoKcHJvYyBGb29bVDogQmFyW3R5cGVzXV0oKTogVCA9CiAgd2hlbiBUIGlzIEJhcjogbmlsCgpkaXNjYXJkIEZvb1tCYXJbaW50MzJdXSgp