some category theory in Idris language