pub(crate) fn upper(&self) -> Option<Module> {
        let mut m = self.upper?;
        loop {
            if !m.has_prepend() {
                return Some(m);
            }
            m = m.upper?;
        }
    }
Get an upper module/class of `self`.

If `self` has no upper module/class, return None.
ruruby/src/value/class.rs