From the comment here, it seems that it's the responsibility of either the developer (or whatever pre-compiles it, such as `locator`) to properly wrap the function:

https://gist.github.com/caridy/5548076#comment-828308

It doesn't seem possible for `register()` to know how to revive a pre-compiled template without knowing which template engine was used to pre-compile it, so it makes sense that it's the responsibility for `locator` to wrap it up properly.