type parameters don't need Mod.Abstract