A related question: Can you use @Out to introduce a context variable that is not declared by any @Name or @Role annotation?
scope is almost always NOT needed on @In or @Out.
If the thing being outjected is a Seam component, Seam can deduce the scope from the component type.
But when we are outjecting a String or a List, it is not a Seam component, so we need to explicitly specify the scope.
And yes, that is how @Out can be used to set a context variable with no corresponding Seam component.