What are the pros and cons of doing this during compilation instead of runtime?