anchor.diff:              | Ignore ->
                   printfn "%s i do not know that instruction" dbgIdentifier 
                   currentState
  -
       let fold state instructions =
  -        List.fold(fun stack instruction ->
  -            calcNewState stack instruction
  -        ) state instructions
  +        let rec _fold stack instructions =
  +            match instructions with
  +            | instruction::tail ->
  +                //A halt instruction could be dealt with here
  +                let newstate = calcNewState stack instruction
  +                _fold newstate tail
  +            | [] ->
  +                stack
  +        _fold state instructions
   
   module Main =
   
  
positive.code:     let getPrintLine = simpleLineHelper "print" Print
      let getAddLine = simpleLineHelper "add" Add
      let getSubtractLine = simpleLineHelper "sub" Subtract
      let getMultiplyLine = simpleLineHelper "mul" Multipy
      let getDivisionLine = simpleLineHelper "div" Divide
      let getPopLine = simpleLineHelper "pop" Pop
  
  
negative.code:                 | _ ->
                      printfn "%s something went horribly wrong with the stack while trying to divide" dbgIdentifier
                      currentState
              | Multiply ->
                  match currentState with
                  | x::y::rst ->
                      printfn "%s multiplying %i and %i" dbgIdentifier x y
                      (y * x) :: rst
                  | _ ->
                      printfn "%s something went horribly wrong with the stack while trying to Multiply" dbgIdentifier
                      currentState
              | Print ->
                  printfn "%s printing the current head" dbgIdentifier
  