Move generic MM access from polyfns to protocols, cause they are useful elsewhere, too