implementation module test import StdEnv import iTasks :: Test = E.s: T (R s) & iTask s :: R s = { state :: s , transform :: s -> s } transf :: Test -> Test transf (T rec=:{state, transform}) # state = transform state = T {R | rec & state = state} test :: Test test = T {R | state = True, transform = not} Start :: Bool Start = let (T {R|state}) = transf test in gEq{|*|} state state