caseClassInjection? Also this should probably be A <: Product to get it closer to case classes.