I have a feeling this might be clearer using a proper struct with a field, since this (semantically) isn't just a thin wrapper over a hashmap, it's meant to represent the "school" idea.

Using something like `struct School { priv grades: HashMap<uint, ~[~str]> }` would also give the ability to make it `priv`ate.