data D a = D d = D :print d d `seq` ()