Developer tools based on category theory