anchor.diff:  
       // force current state to a new state
       member this.ForceStateTo(args) = 
  -        this.CurrentState <- args
  -        
  -    // assert function used for debugging
  -    member this.Assert(state) = 
  -        if this.CurrentState <> state then
  -            failwith "assertion failed"
  +        this.CurrentState <- args        
   end
   
   // state machine class which inherit the DGML class
  
positive.code:                         |> Seq.map (fun n ->
                                      let name = n.Name
                                      provideMethod
                                          (sprintf "Assert_%s" name)
                                          []
                                          typeof<unit>
                                          (fun args -> <@@ (%%args.[0] :> StateMachine).Assert(name) @@>)))
                  |++!> (stateMachine.Nodes
                          |> Seq.map (fun n ->
                                      let name = n.Name
                                      provideMethod
                                          (sprintf "TransitTo_%s" name)
                                          []
                                          typeof<unit>
  
negative.code:     | Link of string * string
  
  // define DGML class
  type DGMLClass() = class   
      let mutable nodes = Unchecked.defaultof<Node list>
      let mutable links = Unchecked.defaultof<DGML list>    
      let mutable currentState = System.String.Empty
  