This might only be possible for a subset of templates, but it would be super useful if we could support it. If we can, then also providing a predicate function to determine whether the template is `reversible?` would be fab.