The logic at the moment is not fully self-contained: the detection.projection function is well-specified, but one needs to also pass a projection that's already computed with the new frequency vector, which makes it less useful.
It needs to be fixed (and tested) so it works correctly with both horizon and Fisher matrix computation.