Category Theory & Universal Algebra Programming Patterns Exploration