@tux-rampage Regardless of whether or not *you* feel it's broken, the fact is that the code has been released as-is for the entire 2.1 series, and developers are using it. Changing the signature means breaking other people's code.

`addRole($role, $parents = null)` can still be supported. I'd argue we should do the following:

- Create the method `addRoleWithChildren($role, $children)`
- Create the method `addRoleWithParent($role, $parent)` (where `$parent` can be a single role, or an array of roles)
- Keep `addRole($role, $parent = null)`, but mark it as deprecated, pointing developers to the above two methods. Also, a largish note in the documentation about this.