anchor.diff:  set(Id, #connection{}=Connection, Key, Value) ->
       handle_command(Id, Connection, ["SET", Key, Value]).
   
  -multi(#connection{state=State}=Connection) ->
  +transaction(#connection{state=State}=Connection) ->
       case State of
           default -> Connection#connection{state=transaction}
       end.
  
positive.code:         Parent ! #store_result{id=Id, result=Result}
      end).
  
  driver() ->
      C = connect("127.0.0.1", 6379),
      io:format("connected~n"),
      C2 = redis_store:set(blah, C, "foo", "bar"),
      io:format("called set~n"),
      redis_store:get(blah, C2, "foo"),
      io:format("called get~n"),
      receive
          Any -> io:format("got a response: ~p~n", [Any])
      end,
      receive
          Any2 -> io:format("got a response: ~p~n", [Any2])
      end.
  
  
negative.code:         default -> Connection#connection{state=pipeline}
      end.
  
  commit(Id, #connection{state=State}=Connection) ->
      case State of
          transaction -> dispatch_transaction(Id, Connection);
          pipeline -> dispatch_pipeline(Id, Connection)
      end,
      Connection#connection{state=default, stored=[]}.
  
  handle_command(Id, #connection{client=Client, state=State, stored=Stored}=Connection, Command) ->
      case State of
  