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"
    }
}
