anchor.diff:                                        
   let apply state event = 
       match event with
  -    | BuildBranchRequested (u, b, e)    -> { state with processState = Some Started } 
  +    | BuildBranchRequested (u, b, e, t) -> { state with processState = Some Started } 
       | GitCloneStarted                   -> { state with processState = Some Cloning }
       | CloneGitCompleted c               -> match c with 
                                              | CloneSuccess   -> { state with processState = Some Cloned }
  
positive.code: type GitUri = string
  type Branch = string
  type Exec = string
  
  type Command = 
      | Build  of GitUri * Branch * Exec
      | StartGitClone
      | CompleteGitClone of GitCloneState
      | StartBuild
      | CompleteBuild of BuildState
  
  type Event = 
      | BuildBranchRequested of GitUri * Branch * Exec
      | GitCloneStarted
      | CloneGitCompleted of GitCloneState
      | BuildStarted
  
negative.code: 
  let exec command state = 
      match command with
      | Build (u, b, e, t)   -> Assert.expectState state None     >| BuildBranchRequested (u, b, e, t)
      | StartGitClone        -> Assert.expectState state Started  >| GitCloneStarted
      | CompleteGitClone c   -> Assert.expectState state Cloning  >| CloneGitCompleted c
      | StartBuild           -> Assert.expectState state Cloned   >| BuildStarted
  