code: func requiresReplacement(n, o properties) (bool, error) {
  	a, err := n.ReplacementHash()
  	if err != nil {
  		return false, err
  	}
  
  	b, err := o.ReplacementHash()
  	if err != nil {
  		return false, err
  	}
  
  	return a != b, nil
  }
docs: // requiresReplacement returns true if the new properties require a replacement
  // of the old properties.