“You might have heard people say that functional programming is more academic, and real engineering is done in imperative style.”
An assembler in Factorio takes a copper plate and outputs two wires. That is a typed function. A conveyor belt that carries any item is a functor, and mapping an assembler over it is fmap. Factory players have been doing category theory for years without anyone telling them. The monad tutorials could have just been a video game.