There could be other possibilities as well, like a function without @foo attribute not being able to call a function with the attribute in its body.