I think this should move to BFInstance following the rule that each class handles itself and "lower".  Then you call bf ++ this here (actually you can put that in the case _ => other ++ this.