Pragmatic Category Theory for Beginners in OCaml with lots of real-world examples