title: Y-Combinator in FT EDSL
body: <p>I'm trying to figure out how to express the Y-Combitor in this Finally Tagless EDSL:</p>
  
  <pre><code>class Symantics exp where
      lam :: (exp a -&gt; exp b) -&gt; exp (exp a -&gt; exp b)
      app :: exp (exp a -&gt; exp b) -&gt; exp a -&gt; exp b
  
      fix :: ...
      fix f = .....
  </code></pre>
  
  <p>I'm not certain but I think a default implementation of the Y-Combinator should be possible using "lam" and "app".</p>
  
  <p>Anybody know how? My first attempts fail because of the "cannot construct the infinite type" thingy.</p>
  
  <p>Cheers,
  Günther</p>