I forgot one other point I meant to add - think about when the body of a class gets executed, vs when the body of a function gets executed. The former is at compile time, the latter is when the function is used.