moduleControl.Concurrent.Timer.Types(Timer(..))where------------------------------------------------------------------------------importControl.Concurrent(ThreadId)importControl.Concurrent.MVar(MVar)importControl.Concurrent.Suspend(Delay)-------------------------------------------------------------------------------------------------------------------------------------------------------------- | The data type representing the timer.-- For now, the action and delay are fixed for the lifetime of the Timer.dataTimerm=Timer{timerAction::m(),timerDelay::Delay,timerThreadID::MVar(MaybeThreadId)}