A bit more effective realization of "propagate", though not so elegant.