anchor.diff:          Consistent ->
               {Unvalidated, Valid, Errors} = validate_create_consistent_props(Consistent, BucketProps)
       end,
  -    validate(Unvalidated, Valid, Errors).
  +    {Good, Bad} = validate(Unvalidated, Valid, Errors),
  +    validate_post_merge(Good, Bad).
   
   %% @private update phase of bucket type. Merges properties from
   %% existing with valid new properties
  
positive.code:         MaybeBool ->
              coerce_bool(MaybeBool)
      end.
  
  %%
  %% EUNIT tests...
  
negative.code:             {Unvalidated, Valid, Errors} = validate_update_consistent_props(Existing, New)
      end,
      {Good, Bad} = validate(Unvalidated, Valid, Errors),
      validate_post_merge(merge(Good, Existing), Bad).
  
  %% @private just delegates, but I added it to illustrate the many
  %% possible type of validation.
  -spec validate_update_typed_bucket(props(), props()) -> {props(), errors()}.
  validate_update_typed_bucket(Existing, New) ->
      {Good, Bad} = validate_update_bucket_type(Existing, New),
      validate_post_merge(Good, Bad).
  
  %% @private as far as datatypes go, default buckets are free to do as
  %% they please, the datatypes API only works on typed buckets. Go
  %% wild!
  -spec validate_default_bucket(props(), props()) -> {props(), errors()}.
  validate_default_bucket(Existing, New) ->
      {Good, Bad} = validate(New, [], []),
      validate_post_merge(merge(Good, Existing), Bad).
  
  %% @private properties in new overwrite those in old
  -spec merge(props(), props()) -> props().
  