We currently use a home-made approach to ensure, e.g. scale is positive. However, many optimizers take bounds. This should allow to leverage this knowledge better (i.e. directly in minimize).
We also allow for bounds of the params - we don't directly minimize them so we cannot set bounds. However, it should be possible (I think) to use constraints for this - again leveraging the machinery itself to ensure the values are as we want them. (However, I don't have experience with this.)