If you remove all `ref` keywords, you cannot use `new` anymore to construct the object, as that requires a `ref` object. Without the `new` keyword, I could not get the object to construct properly as a generic.
At a minimum, you need to define `Baz` as a `ref object` and that will work fine.