DIE: Pass ownership of children via std::unique_ptr rather than raw pointer.