I'm rather new to the concept of objects and morphisms myself, but I love how fields like category theory allow one to "zoom out" far enough in abstraction that two seemingly different concepts are actually the same applied to distinct contexts.
I'm of course speaking from an outsider's point of view, but do you think PHP was a good option, or was it a "fitting a square peg into a round hole" situation?