What about `ABMag` (or `STMag`)?  Are they not supposed to be "public"?  I can perhaps see `STMag` as being moderately domain-specific, but `ABMag` seems quite common to me (also see my comment in the discussion on where the API should "live")