Wouldn't doing this eliminate the need for the check of `isinstance(roles, list)` since `list([1,2,3]) -> [1,2,3]`?