{-# LANGUAGE NoImplicitPrelude, NoMonomorphismRestriction #-} module DDF.Y (module DDF.Y, module DDF.DBI) where import DDF.DBI class DBI r => Y r where y :: r h ((a -> a) -> a) undefined :: r h a undefined = y1 id y1 = app y y2 = app2 y