make compiler's template path argument truly optional

Second argument to compiler's compile method is marked as optional but in fact compilation was failing if this argument wasn't provided. So I'm not sure if this arg shouldn't be optional anymore or it should be made optional as in this PR.

Anyway, a PR to discuss / merge.