Hmm, the way this is constructed, the label of the boson operator isn't tied to the state it acts on, i.e. BosonOperator('a') and BosonOperator('b') would both act on the same ket. Though I'm not sure if that's a bad thing.