Describe the bug
Currently there are for example parameters of type (int, float, none), that have a interval specified for if the value is a float, but not, if it's a int.
To Reproduce
#/sklearn/sklearn.ensemble._forest/RandomForestClassifier/__init__/max_samples
Here a boundary annotations is automatically generated, even though the interval is only valid for floats.
Expected behavior
A boundary annotation should be defined for a specific datatype and should only be applied if the provided value is of that type. This way you can have multiple boundaries for different datatypes like float and int and also allow for none or any other type to exist as possible parameter value type next to the one, the boundary applies to.
Screenshots (optional)

Additional Context (optional)
No response