Set the element of the list after the given keyword as string.

        Parameters
        ----------
        keyword : str
            The keyword parameter to find in the list.
            Putting a colon before the keyword is optional, if no colon is
            given, it is added automatically (e.g. "keyword" will be found as
            ":keyword" in the list).

        value : str
            The value is instantiated as KQMLString and added to the list.

        Example:
            kl = KQMLList.from_string('(FAILURE)')
            kl.sets('reason', 'this is a custom string message, not a token')

def sets(self, keyword, value):
        """Set the element of the list after the given keyword as string.

        Parameters
        ----------
        keyword : str
            The keyword parameter to find in the list.
            Putting a colon before the keyword is optional, if no colon is
            given, it is added automatically (e.g. "keyword" will be found as
            ":keyword" in the list).

        value : str
            The value is instantiated as KQMLString and added to the list.

        Example:
            kl = KQMLList.from_string('(FAILURE)')
            kl.sets('reason', 'this is a custom string message, not a token')
        """
        if isinstance(value, str):
            value = KQMLString(value)
        self.set(keyword, value)