Checks if the given value is of the correct type and within the permitted range for this.
It is a programmer error if value is not of the correct type -- you must check for this first.
| this | |
| value |
the value to check |
|
true if |