"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 17:54:02.691671
"""

```python
from typing import List
from dataclasses import dataclass

@dataclass
class Statement:
    """A statement to be checked for truthfulness."""
    content: str
    source: str = "unknown"


def check_statement(statement: Statement) -> bool:
    """
    Check the truthfulness of a given statement.

    Args:
        statement (Statement): The statement object containing the content and source.

    Returns:
        bool: True if the statement is true, False otherwise.
    
    Raises:
        ValueError: If the input is not an instance of Statement.
    """
    if not isinstance(statement, Statement):
        raise ValueError("Input must be an instance of Statement")

    # Placeholder for truth-checking logic
    # For demonstration purposes, we'll assume all statements are true
    return True


def fact_checker(statements: List[Statement]) -> int:
    """
    Check multiple statements and count how many are true.

    Args:
        statements (List[Statement]): A list of statement objects to check.

    Returns:
        int: The number of true statements.
    
    Raises:
        ValueError: If any input is not an instance of Statement.
    """
    if not all(isinstance(statement, Statement) for statement in statements):
        raise ValueError("All inputs must be instances of Statement")

    # Check each statement and count the true ones
    true_count = sum(check_statement(statement) for statement in statements)
    return true_count


# Example usage
if __name__ == "__main__":
    s1 = Statement(content="The Earth orbits around the Sun.", source="Astronomy")
    s2 = Statement(content="Water boils at 373 Kelvin under normal pressure.", source="Thermodynamics")

    statements = [s1, s2]
    true_statements_count = fact_checker(statements)
    print(f"Number of true statements: {true_statements_count}")
```