anchor.diff:  
           //When a machine receives a wakeup
           member this.Wakeup c s =
  -            Done
  -
  -        //When a machine timeout occurs
  -        member this.Timeout c s =
               match state with
               | x when x < 0 -> Error "state was less than 0" //We expect the counter to be greater than 0
               | 0 -> Done //If the counter is less than 0, we close this machine
  
positive.code:                 state <- state - 1
                  Deadline(TimeSpan.FromSeconds(1.0)) //If the counter is greater than 0, we continue
  
  type Nothing<'c, 's> (state) =
      interface IMachine<'c, 's> with
          member this.Create c s =
              Done
          member this.Ready c s =
              Done
          member this.Wakeup c s =
  
negative.code:     abstract member Wakeup :    'c -> 's -> Response<'m>
      abstract member Timeout :   'c -> 's -> Response<'m>
  
  //A machine with a mutable internal state
  type Counter<'c, 's> (s) =
      //Our mutable state
      let mutable state = s
  