### Motivation Casting void pointers is not safe/checkable at runtime. `std::any` adds minimal overhead and allows us to safely cast context. ### Design Start building a parallel API where required, progressively migrate. ### Impact Runtime safety.