anchor.diff:      StateBuilder : StateBuilder<'TState>
       Validators : Validator<'TCmd,'TState> list
       Handler : 'TCmd -> seq<'TEvent>
  -    Process : 'TCmd -> EventStreamProgram<CommandResult>
   }
   
   open Eventful.EventStream
  
positive.code:             StateBuilder = stateBuilder
              Validators = List.empty
              Handler = f >> Seq.singleton
              Process = (fun cmd -> EventStream.eventStream { 
                  return NonEmptyList.singleton "todo" |> Failure
              })
          } : CommandHandler<'TCmd, 'TState, 'TId, 'TEvent> 
  
      let toChoiceValidator cmd r =
  
negative.code: //    abstract member StateValidation : 'TState option -> seq<ValidationFailure>
  //    abstract member CommandValidation : 'TCmd -> seq<ValidationFailure>
      abstract member Handler : obj -> string -> EventStreamProgram<CommandResult>
  
  type IEventHandler<'TState,'TEvent,'TId> =
      abstract member CmdType : Type
  