14.3.1. Statements execute in order of appearance
Consider the following action:
action A create role SomeRole SomeProperty = 10 for SomeRole
where SomeRole is functional and SomeProperty is Numeric. Assuming the context in which this takes place has no instance of SomeRole yet, this will work perfectly, because the statements are executed in order of appearance. So an instance of SomeRole is created; then, on the next line, the (minimal) query SomeRole returns this instance and it will acquire value 10 for its property SomeProperty.
Notice that each statement is executed in an environment that has been changed by the statements above it, in the program text.