anchor.diff:          let rec messageLoop version = async {
               let! aggregateId, command, replyChannel = inbox.Receive()
               
  -            let! aggregate = buildAggregate
  +            let! aggregate = buildAggregate aggregateId
               let! result = handleCommand command aggregate
               match result with
               | Success newEvent ->
  
positive.code:     (handleCommand:'TCommand -> 'TAggregate -> Async<Result<'TEvent, CQRSFailure>>)
      (handleEvent:'TEvent -> 'TAggregate -> 'TAggregate)
      (streamId:string)
      (buildAggregate:Guid)
      (initialVersion:int) = 
      
      let save expectedVersion events = store.AppendToStream streamId expectedVersion events
  
negative.code:             return! messageLoop initialVersion
              }
  
      fun guid command -> agent.PostAndAsyncReply(fun replyChannel -> guid, command, replyChannel)
  
  