split up type/_family semantics -- notice a speedup..