I guess I was following the `draw()` and/or `drawShoot()` logic here, but on checking I now see that the `applyTo` member function of `Noise` classes does not follow that pattern.  I'd rather not use it in fact as it's slightly confusing, so thanks for pointing that out, I'll just return the variance!