title: Using Functions of `a` on `newtype a`
body: <p>Let's say I have the following <code>newtype</code>:</p>
  
  <p><code>newtype Foo = Foo Integer deriving (Eq, Show)</code></p>
  
  <p>Is there a concise way to add two <code>Foo</code>'s:</p>
  
  <p><code>(Foo 10) + (Foo 5) == Foo 15</code></p>
  
  <p>or get the max:</p>
  
  <p><code>max (Foo 10) (Foo 5) == Foo 5</code>?</p>
  
  <p>I'm curious if it's possible to easily use functions of <code>a</code> for a <code>newtype a</code> rather than do:</p>
  
  <pre><code>addFoo :: Foo -&gt; Foo -&gt; Foo
  addFoo (Foo x) (Foo y) = Foo $ x + y
  </code></pre>