docs: def squash(change, is_ignored=False, options=None):
      """
      squashes the in-depth information of a change to a simplified (and
      less memory-intensive) form
      """
  
      if options:
          is_ignored = change.is_ignored(options)
  
      if isinstance(change, Removal):
          result = SquashedRemoval(change, is_ignored)
      elif isinstance(change, Addition):
          result = SquashedAddition(change, is_ignored)
      else:
          result = SquashedChange(change, is_ignored)
  
      return result