```python
def plural_of(noun: str) -> str:
    """
    Returns the plural form of an English noun.
    """
    if not noun:
        raise ValueError("Input cannot be empty.")
    
    # Check for irregular nouns
    irregular_nouns = {
        "sheep": "sheep",
        "fish": "fish",
        "child": "children",
        "man": "men",
        "woman": "women",
        "goose": "geese",
        "deer": "deer",
        "mouse": "mice",
        "fly": "flies",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "foot": "feet",
        "roof": "roofs",
        "tooth": "teeth",
        "