Hoed-0.3.0: tests/Generic/t2.hs
{-# LANGUAGE DeriveGeneric #-}
import Debug.Hoed.Pure
data D = D D | T
deriving (Show,Generic)
instance Observable D
f :: D -> Int
f = observe "f" f'
f' T = 1
f' (D _) = 0
main = logO "r0" $ print (f (D (D (D T))))