Mixin statement

A symbol can be forced to be open by a mixin declaration:

  1. proc create*[T](): ref T =
  2. # there is no overloaded 'init' here, so we need to state that it's an
  3. # open symbol explicitly:
  4. mixin init
  5. new result
  6. init result

mixin statements only make sense in templates and generics.