In reply to @kiloneie "What does this mean": Templates generate code at compile time. The only errors they can throw are at the template instantiation because there isn't any pre-existing source at to refer to. If you want clearer errors, try turning those templates into procs that the compiler CAN analyze and give detailed information about. No idea where `section` is from though, if it's a library you're using, make sure you read the docs. Again, the compiler simply can't introspect well on code that doesn't yet exist in the source.