pybind11 strives to be a general solution to binding generation, but it also has
certain limitations:

pybind11 casts away const-ness in function arguments and return values.
This is in line with the Python language, which has no concept of const
values. This means that some additional care is needed to avoid bugs that
would be caught by the type checker in a traditional C++ program.

These features could be implemented but would lead to a significant increase in
complexity. I’ve decided to draw the line here to keep this project simple and
compact. Users who absolutely require these features are encouraged to fork
pybind11.