Hi James. Doing the precision and scale calculation in the compile time would require us traversing the children node list in the constructor, it could make the execution longer. Also, if an earlier arithmetic operation caught an error, we can skip calculation on later steps. We won't be able to get that saving if we do it in compile time. Also, since the compilation is still happening for every execution (if I understand correctly), we won't be saving any even if we execute multiple time.