@override bool accepts(Object? value) => value is num && value.isFinite && (!integer || value % 1 == 0) && (minimum == null || value >= minimum!) && (maximum == null || value <= maximum!);