A [ts::bounded_type]() with the given value and lower and upper bounds, where the bounds are not valid values.
- [ts::constrain_error]() if the value isn't valid, or anything else thrown by the constructor. \notes This is meant for sanitizing user input, using a recoverable error handling strategy. \notes If this function is passed in dynamic values of the same type as value, it will create a dynamic bound. Otherwise it must be passed static bounds.