So you can reframe a closure operator as a partition into subsets containing maximums.
And this view point should categorify into a view point on monads. But this is giving me a headache. Especially because all the programming endo monads are 1-1. (For objects, maps, and even values (using the unit) ) (though join is often a quite interesting onto* partition).
Also does the concept of partitions just lift to a Functor which is a partition on objects, and whose action on morphisms is a partition for each hom set.
I'm going to try to see if you can make a natural deduction version of partition logic, and then get a programming language from that. The same way you can from say, a sub structural logic, or modal logic.