Very nice.  Will do it this way.  Is there a way to merge the `Student.visible` scope without tagging in all the joins redundantly?

Perhaps we need to do repeat the student.visible logic here manually?