anchor.diff:  
   %%%===================================================================
   
  --type required()   :: quorum | other | all.
  +-type required()   :: quorum | other | all | all_or_quorum.
   
   -record(msgstate, {awaiting = undefined :: 'undefined' | reqid(),
                      timer    = undefined :: 'undefined' | reference(),
  
positive.code:             collect_timeout(Replies, Parent);
          false ->
              collect_replies(Collect)
      end.
  
  -spec wait_for_quorum(future()) -> {quorum_met, [peer_reply()]} |
  
negative.code:     {Valid, Nacks} = find_valid(Filtered),
      Quorum = case Required of
                   quorum ->
                       length(Members) div 2 + 1;
                   all_or_quorum ->
                       length(Members) div 2 + 1;
                   other ->
                       length(Members) div 2 + 1;
  