Efficient "parent" reference for structs

I don’t understand the problem here. You need only one make_foo for all methods of foo because foo dispatches.