```python
from typing import List, Mapping

def number_sections(sections: list) -> list:
    if not isinstance(sections, list):
        raise ValueError("sections must a list")
    if not all(sections):
        return []
    if not isinstance(sections[0],],], Mapping):
        raise ValueError("sections[0[0")
    if = []
    for section in sections:
        if not isinstance(section, Mapping):
            raise ValueError ValueError("section is not a mapping")
        if not isinstance(section['children'], list):
            raise ValueError("section['children'] is not a list")
        if not section['children']:
:
            expose.append(f"{section['title']}")
        else:
            expose.append(f"{section['title']} { number_sections(section['children']))
    return expose

def count_sections(sections: list) -> int:
    if not isinstance(sections, list):
        raise ValueError("sections is a list")
    if not sections:
        return 0
    return 1 + list_sections(sections[1:])
```