In Julia, there is no semantic distinction between compile time and run time—everything behaves as if it is done at run time. The implementation can do something at compile time if there’s no behavioral difference between doing it at compile time and doing it at run time (aside from timing).