class Docs extends Component {
    /*
        Properties:
        - header: Header component
        Children:
        - List of sections
    */
    constructor(props) {
        super(props);
    }

    render() {
        return "a"
    }
}

class Section extends Component {
    /*

    */
    constructor(props) {
        super(props);
    }

    render() {
        return "a"
    }
}
