is it necessary to use `@` var? do you call it more than once? Why do not set it once (`@a ||= val`) if it is called more than once