def abstract(cls):
    """
    Declares that this class cannot be instantiated. Only subclasses that are
    not declared abstract could be instantiated.

    This is equivalent to setting the class property ``_abstract=True``.

    :param cls: The class that should be abstract
    :return: The same class
    """
    cls._abstract = True
    return cls