code: def evolve(self, rho: Density) -> Density:
          
          # TODO: implement without explicit channel creation?
          chan = self.aschannel()
          return chan.evolve(rho)
docs: Apply the action of this gate upon a density