title: Importance of isomorphic functions
body: <p><strong>Short Question:</strong> What is the importance of isomorphic functions in programming (namely in functional programming)?</p>
  
  <p><strong>Long Question:</strong> I'm trying to draw some analogs between functional programming and concepts in Category Theory based off of some of the lingo I hear from time-to-time.  Essentially I'm trying to "unpackage" that lingo into something concrete I can then expand on. I'll then be able to use the lingo with an understanding of just-what-the-heck-I'm-talking about.  Which is always nice.</p>
  
  <p>One of these terms I hear all the time is <em>Isomorphism</em>, I gather this is about reasoning about equivalence between functions or function compositions.  I was wondering if someone could provide some insights into some common patterns where the property of isomorphism comes in handy (in functional programming), and any by-products gained, such as compiler optimizations from reasoning about isomorphic functions.</p>