Computing with Category Theory