If someone has the role HR Manager they should be able to access pages flagged with @role_required('employee').
The way to deal with this appears to be that you need to maintain a map of roles to all ancestors. For example something like:
HR Manager --> Manager, HR Employee, Employee