The "hook" prop being optional seems like it would violate React's "rules of hooks" pattern. Technically, if you were to do something like `hook={someCondition ? { expanded, toggle } : undefined}` then the `useAccordion()` hook would be fired nondeterministically, i.e. on some renders of `Accordion` it will be called and in other renders it will not