Optimiser<'data> Type
An `Optimiser` is an optimisation algorithm that may work either in 'transformed' parameter space (where parameter constraints are automatically handled) or in 'detatched' space (where the optimisation algorithm is responsible for respecting parameter constraints).