partialization
Partialization is a categorical construction that enlarges a given category by adjoining partial morphisms between its objects. In a typical setup, objects of the resulting category Par(C) are the same as in C, while a morphism from A to B is represented by a span A <- D -> B, where the left leg is a monomorphism i: D -> A and the right leg is a morphism f: D -> B. The left leg encodes the domain of definition of the partial map, and the right leg gives its value on that domain.
Composition in Par(C) is defined by pullbacks. Given A <- D1 -> B and B <- D2 -> C, one
Partialization typically requires C to have suitable pullbacks, and often that monos are stable under pullback.
Par(C) is related to restriction categories and other frameworks for partiality. It provides a canonical way