def METHOD_NAME(self) -> Type[MnemoFactView]:
    try:
        METHOD_NAME = self.cards[0].fact_view_id
    except IndexError as err:
        raise Exception(f"Fact {id} has no cards") from err
    if METHOD_NAME.startswith("1.") or METHOD_NAME.startswith("1::"):
        return FrontOnly
    elif METHOD_NAME.startswith("2.") or METHOD_NAME.startswith("2::"):
        return FrontBack
    elif METHOD_NAME.startswith("3.") or METHOD_NAME.startswith("3::"):
        return Vocabulary
    elif METHOD_NAME.startswith("5.1"):
        return Cloze
    raise Exception(f"Fact {id} has unknown fact view: {METHOD_NAME}")