Bayes' rule tells us how to invert a causal process in order to update our
beliefs in light of new evidence. If the process is believed to have a complex
compositional structure, we may observe that the inversion of the whole can be
computed piecewise in terms of the component processes. We study the structure
of this compositional rule, noting that it relates to the lens pattern in
functional programming. Working in a suitably general axiomatic presentation of
a category of Markov kernels, we see how we can think of Bayesian inversion as
a particular instance of a state-dependent morphism in a fibred category. We
discuss the compositional nature of this, formulated as a functor on the
underlying category and explore how this can used for a more type-driven
approach to statistical inference.Comment: This paper combines ideas and material from two unpublished
preprints, arxiv:2006.01631 and arXiv:2209.1472