Can one of the developers please comment on #11996 (https://github.com/ansible/ansible/issues/11996)?
Again, this was acknowledged as a bug by abadger in [1]. It had been fixed in 2.0, but then regressed again (as expected [2]). As I note in the GitHub thread, the current behavior makes role variables completely unreliable and dangerous to use, because if a previous role happens to include a variable with the same name as a role variable from a later role, the role variable is ignored.
[1] https://github.com/ansible/ansible/issues/11996#issuecomment-133107471
[2] https://groups.google.com/d/msg/ansible-project/4OIuDxRSv0M/RgW8HkuIKQAJ