Yes.  Note also that attr[GenderLabel[Mention]] is identical lot attr[GenderLabel[NounPhrase] due to erasure.  I haven't read the code carefully enough to know why we need a type parameter here.  Where would things get awkward if we just had 
class GenderLabel(val phrase:Phrase,...
?