pub fn build(self) -> Template<G> {
        Template {
            inner: Entity::from(self),
        }
    }
Builds a full [`Template`] from this [`TemplateInner`], consuming it in
the process. Once called, the template cannot be modified anymore,
and it will be placed into a smart pointer, allowing it to be cloned
freely with minimal costs.

You should call this just before you return your template.
packages/perseus/src/template/core/mod.rs