code: def compare(left: Union[str, pathlib.Path, _Entity],
              right: Union[str, pathlib.Path, _Entity]) -> Comparison:
      
  
      def normalise(param: Union[str, pathlib.Path, _Entity]) -> _Entity:
          """
          Turns any one of a number of types of input into an entity.
  
          :param param: The input - either a path string, a path object, or a
                        full blown entity.
          :return: The input param as an entity.
          """
          if isinstance(param, str):
              param = pathlib.Path(param)
          if isinstance(param, pathlib.Path):
              param = _Entity.from_path(param)
          return param
  
      return Comparison.compare(normalise(left), normalise(right))
docs: Compare two paths.
  
      :param left: The left side or "before" entity.
      :param right: The right side or "after" entity.
      :return: A comparison details what has changed from the left side to the
               right side.