I would like to have a way to group certain types together, for example, for the usage of interface in other languages. type ICanFly = ref object of RootRef type Bird = ref object of ICanFly type Fly = ref object of ICanFly var flies :seq[ICanFly] = @[ Bird(), Fly()] Run
but in this case, ICanFly can be instantiated. (final pragma didn't seem to work!) flies.add ICanFly() Run a plus would be to avoid the inheritance mechanism: * I simply want to group them together. * Can a Bird extend more than one interface, in terms of other languages, say ICanFly, and IHaveWings