Proposal for a unified interface ```julia optimise(model, MAP(), ...) optimise(model, MLE(), ...) optimise(model, VI(variational_distribution=q, ...), ...) ``` This resembles the `sample(model, sampler, ...)` interface for Monte Carlo sampling-based inference algorithms.