Provide replacement for string "needles".

        :param replacement: Target replacement for needles given in constructor
        :return: The :class:`Replacement` object

        :raise TypeError: If ``replacement`` is not a string
        :raise ReplacementError: If replacement has been already given

def with_(self, replacement):
        """Provide replacement for string "needles".

        :param replacement: Target replacement for needles given in constructor
        :return: The :class:`Replacement` object

        :raise TypeError: If ``replacement`` is not a string
        :raise ReplacementError: If replacement has been already given
        """
        ensure_string(replacement)
        if is_mapping(self._replacements):
            raise ReplacementError("string replacements already provided")

        self._replacements = dict.fromkeys(self._replacements, replacement)
        return self