
One idea on the dynamically changing the global bounds for a type as I keep
mentioning, one concern people have is that it could invalidate instantiated
objects of the type.
As I said before, being able to dynamically change the bounds at runtime is
essential, but most of the time you would do it before you instantiate
anything. Hence, one solution is to make a check to see if it has been
instantiated yet. I don't know enough metaprogramming to know if this is
possible, but the idea is to flip some kind of a compile time flag in the
constructor of the type and if you try to change the bounds after that, it
fails a compile time assertion.
So, the following would work:
typedef bounded_type