def _check_component_interfaces(cls):
    """
        Check that the backend has the right interfaces.

        Certain interfaces are required to support components,
        and we want to make sure that the Backend implements
        them. This is a run-time type check.
        """
    for component in cls.board.supported_components():
        if not issubclass(cls, component.interface_class()):
            raise TypeError(
                "The backend class doesn't have a required interface.")
