type
Entity = object of RootObj
ObjectOne = object of Entity
ObjectTwo = object of Entity
Repository[T: Entity] = ref object of RootObj
SqliteRepository[T: Entity] = ref object of Repository[T]
when isMainModule:
var r: SqliteRepository[ObjectOne]
# ...
dHlwZQogIEVudGl0eSA9IG9iamVjdCBvZiBSb290T2JqCgogIE9iamVjdE9uZSA9IG9iamVjdCBvZiBFbnRpdHkKCiAgT2JqZWN0VHdvID0gb2JqZWN0IG9mIEVudGl0eQoKICBSZXBvc2l0b3J5W1Q6IEVudGl0eV0gPSByZWYgb2JqZWN0IG9mIFJvb3RPYmoKCiAgU3FsaXRlUmVwb3NpdG9yeVtUOiBFbnRpdHldID0gcmVmIG9iamVjdCBvZiBSZXBvc2l0b3J5W1RdCgp3aGVuIGlzTWFpbk1vZHVsZToKICB2YXIgcjogU3FsaXRlUmVwb3NpdG9yeVtPYmplY3RPbmVdCiAgIyAuLi4K