def _attr_func_(self, slots):
        """
        Does not work as expected, makes an empty object with a new __slots__
        definition.
        """

        self.__attr_func = type(
            ''.join([type(self).__name__, 'Funcs']),
            (),
            {
                '__module__': type(self).__module__,
                '__slots__': tuple(set(slots))
            }
        )()