#1243 Runtime checks added for statements which can be optimized to 'true' or 'false'
diff --git a/Language/Expressions/Constants/equals_expression_t01.dart b/Language/Expressions/Constants/equals_expression_t01.dart
index f868010..91df2a5 100644
--- a/Language/Expressions/Constants/equals_expression_t01.dart
+++ b/Language/Expressions/Constants/equals_expression_t01.dart
@@ -13,7 +13,6 @@
 /// elements of a constant list literal and are, therefore, constant expressions.
 /// @author iefremov
 
-
 import '../../../Utils/expect.dart';
 
 final constList = const [
@@ -25,5 +24,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/equals_expression_t03.dart b/Language/Expressions/Constants/equals_expression_t03.dart
index 58e845d..132c513 100644
--- a/Language/Expressions/Constants/equals_expression_t03.dart
+++ b/Language/Expressions/Constants/equals_expression_t03.dart
@@ -14,7 +14,6 @@
 /// value, is used to initialize a constant variable.

 /// @author kaigorodov

 

-

 class A {

   const A() : a = "hello";

   final a;

@@ -29,7 +28,5 @@
 ];

 

 main() {

-  try {

-    constList is List;

-  } catch (x) {}

+  print(constList);

 }

diff --git a/Language/Expressions/Constants/identical_t01.dart b/Language/Expressions/Constants/identical_t01.dart
index 471988a..546e208 100644
--- a/Language/Expressions/Constants/identical_t01.dart
+++ b/Language/Expressions/Constants/identical_t01.dart
@@ -13,7 +13,6 @@
 /// used in a constant list literal and are, therefore, constant expressions.
 /// @author iefremov
 
-
 import '../../../Utils/expect.dart';
 
 final constList = const [
@@ -27,5 +26,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/identical_t02.dart b/Language/Expressions/Constants/identical_t02.dart
index 95fdc9f..1ed4fc5 100644
--- a/Language/Expressions/Constants/identical_t02.dart
+++ b/Language/Expressions/Constants/identical_t02.dart
@@ -13,9 +13,6 @@
 /// a constant expressions.
 /// @author kaigorodov
 
-
-import '../../../Utils/expect.dart';
-
 bool identical(var a, var b) {
   return a.equals(b);
 }
@@ -28,5 +25,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  print(constList);
 }
diff --git a/Language/Expressions/Constants/identifier_denotes_a_constant_t02.dart b/Language/Expressions/Constants/identifier_denotes_a_constant_t02.dart
index c075df1..dcfb061 100644
--- a/Language/Expressions/Constants/identifier_denotes_a_constant_t02.dart
+++ b/Language/Expressions/Constants/identifier_denotes_a_constant_t02.dart
@@ -13,7 +13,6 @@
 /// can be assigned to a constant variable.
 /// @author kaigorodov
 
-
 import '../../../Utils/expect.dart';
 
 class C {}
@@ -25,9 +24,9 @@
 const d = C;
 
 main() {
-  Expect.isTrue(a is Type);
-  Expect.isTrue(b is Type);
-  Expect.isTrue(c is Type);
-  Expect.isTrue(c2 is Type);
-  Expect.isTrue(d is Type);
+  checkType(checkIs<Type>, true, a);
+  checkType(checkIs<Type>, true, b);
+  checkType(checkIs<Type>, true, c);
+  checkType(checkIs<Type>, true, c2);
+  checkType(checkIs<Type>, true, d);
 }
diff --git a/Language/Expressions/Constants/identifier_denotes_a_constant_t04.dart b/Language/Expressions/Constants/identifier_denotes_a_constant_t04.dart
index b147908..79b0b7a 100644
--- a/Language/Expressions/Constants/identifier_denotes_a_constant_t04.dart
+++ b/Language/Expressions/Constants/identifier_denotes_a_constant_t04.dart
@@ -13,7 +13,6 @@
 /// can be assigned to a constant variable.
 /// @author ilya
 
-
 import '../../../Utils/expect.dart';
 
 typedef int F(int);
@@ -23,6 +22,6 @@
 const b = FF;
 
 main() {
-  Expect.isTrue(a is Type);
-  Expect.isTrue(b is Type);
+  checkType(checkIs<Type>, true, a);
+  checkType(checkIs<Type>, true, b);
 }
diff --git a/Language/Expressions/Constants/literal_boolean_t01.dart b/Language/Expressions/Constants/literal_boolean_t01.dart
index 6da37ea..9271fe5 100644
--- a/Language/Expressions/Constants/literal_boolean_t01.dart
+++ b/Language/Expressions/Constants/literal_boolean_t01.dart
@@ -11,7 +11,6 @@
 /// constant list literal and are, therefore, constant expressions.
 /// @author iefremov
 
-
 import '../../../Utils/expect.dart';
 
 final constList = const [
@@ -20,5 +19,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/literal_number_t01.dart b/Language/Expressions/Constants/literal_number_t01.dart
index 1b71fac..b5160a7 100644
--- a/Language/Expressions/Constants/literal_number_t01.dart
+++ b/Language/Expressions/Constants/literal_number_t01.dart
@@ -20,5 +20,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/literal_number_t02.dart b/Language/Expressions/Constants/literal_number_t02.dart
index 93e955e..58a104b 100644
--- a/Language/Expressions/Constants/literal_number_t02.dart
+++ b/Language/Expressions/Constants/literal_number_t02.dart
@@ -12,7 +12,6 @@
 /// @note Should be OK both with dart and dart2js runs.
 /// @author iarkh@unipro.ru
 
-
 import '../../../Utils/expect.dart';
 
 final constList = const [
@@ -32,5 +31,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/literal_string_t01.dart b/Language/Expressions/Constants/literal_string_t01.dart
index 26ac6c4..a908b68 100644
--- a/Language/Expressions/Constants/literal_string_t01.dart
+++ b/Language/Expressions/Constants/literal_string_t01.dart
@@ -12,7 +12,6 @@
 /// constant list literal and are, therefore, constant expressions.
 /// @author iefremov
 
-
 import '../../../Utils/expect.dart';
 
 final constList = const [
@@ -57,7 +56,7 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
-  Expect.isTrue(constListInterpolation is List);
-  Expect.isTrue(constListConcatenation is List);
+  checkType(checkIs<List>, true, constList);
+  checkType(checkIs<List>, true, constListInterpolation);
+  checkType(checkIs<List>, true, constListConcatenation);
 }
diff --git a/Language/Expressions/Constants/literal_string_t02.dart b/Language/Expressions/Constants/literal_string_t02.dart
index fe66fb5..084acf2 100644
--- a/Language/Expressions/Constants/literal_string_t02.dart
+++ b/Language/Expressions/Constants/literal_string_t02.dart
@@ -13,14 +13,11 @@
 /// value, cannot be assigned to a constant variable.

 /// @author iefremov

 

-

 const l = "${const {'k1': 1, 'k2': 2}}";

 //         ^

 // [analyzer] unspecified

 // [cfe] unspecified

 

 main() {

-  try {

-    print(l);

-  } catch (x) {}

+  print(l);

 }

diff --git a/Language/Expressions/Constants/literal_string_t03.dart b/Language/Expressions/Constants/literal_string_t03.dart
index 2e4b646..7ea56df 100644
--- a/Language/Expressions/Constants/literal_string_t03.dart
+++ b/Language/Expressions/Constants/literal_string_t03.dart
@@ -13,7 +13,6 @@
 /// cannot be assigned to a constant variable.

 /// @author msyabro

 

-

 foo() => 1;

 

 const i1 = "${foo()}";

@@ -22,7 +21,5 @@
 // [cfe] unspecified

 

 main() {

-  try {

-    print(i1);

-  } catch (x) {}

+  print(i1);

 }

diff --git a/Language/Expressions/Constants/literal_string_t04.dart b/Language/Expressions/Constants/literal_string_t04.dart
index 86e94ee..d0394f1 100644
--- a/Language/Expressions/Constants/literal_string_t04.dart
+++ b/Language/Expressions/Constants/literal_string_t04.dart
@@ -13,7 +13,6 @@
 /// to a constant variable.

 /// @author msyabro

 

-

 import "../../../Utils/expect.dart";

 

 const i1 = "${1 is int}";

diff --git a/Language/Expressions/Constants/literal_string_t05.dart b/Language/Expressions/Constants/literal_string_t05.dart
index 6a71cee..fe98ad6 100644
--- a/Language/Expressions/Constants/literal_string_t05.dart
+++ b/Language/Expressions/Constants/literal_string_t05.dart
@@ -13,14 +13,11 @@
 /// assigned to a constant variable.

 /// @author msyabro

 

-

 const i1 = "${1.toString()}";

 //            ^

 // [analyzer] unspecified

 // [cfe] unspecified

 

 main() {

-  try {

-    print(i1);

-  } catch (x) {}

+  print(i1);

 }

diff --git a/Language/Expressions/Constants/literal_symbol_t01.dart b/Language/Expressions/Constants/literal_symbol_t01.dart
index ee254d4..bdfc7ee 100644
--- a/Language/Expressions/Constants/literal_symbol_t01.dart
+++ b/Language/Expressions/Constants/literal_symbol_t01.dart
@@ -11,7 +11,6 @@
 /// variable.
 /// @author ilya
 
-
 const i1 = #foo;
 
 main() {
diff --git a/Language/Expressions/Constants/logical_expression_t04.dart b/Language/Expressions/Constants/logical_expression_t04.dart
index 54c9759..ff4ffa4 100644
--- a/Language/Expressions/Constants/logical_expression_t04.dart
+++ b/Language/Expressions/Constants/logical_expression_t04.dart
@@ -13,7 +13,6 @@
 /// used to initialize a constant variable.

 /// @author kaigorodov

 

-

 final constList = const [

   true && 1,

 //        ^

@@ -22,7 +21,5 @@
 ];

 

 main() {

-  try {

-    constList is List;

-  } catch (x) {}

+  print(constList);

 }

diff --git a/Language/Expressions/Constants/math_operators_t01.dart b/Language/Expressions/Constants/math_operators_t01.dart
index efa1a2f..77a2f59 100644
--- a/Language/Expressions/Constants/math_operators_t01.dart
+++ b/Language/Expressions/Constants/math_operators_t01.dart
@@ -18,7 +18,6 @@
 /// is moved to the math_operator_t08 test.
 /// @author iefremov
 
-
 import '../../../Utils/expect.dart';
 
 final constList = const [
@@ -29,5 +28,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/math_operators_t05.dart b/Language/Expressions/Constants/math_operators_t05.dart
index cc15677..47f9e89 100644
--- a/Language/Expressions/Constants/math_operators_t05.dart
+++ b/Language/Expressions/Constants/math_operators_t05.dart
@@ -15,7 +15,6 @@
 /// the form e1 + e2 where e1 or e2 does not evaluate to a numeric value, is

 /// used to initialize a constant variable.

 

-

 final constList = const [

   true + 1,

 //     ^

@@ -24,7 +23,5 @@
 ];

 

 main() {

-  try {

-    constList is List;

-  } catch (x) {}

+  print(constList);

 }

diff --git a/Language/Expressions/Constants/math_operators_t07.dart b/Language/Expressions/Constants/math_operators_t07.dart
index 29ea0f9..f6ccb3f 100644
--- a/Language/Expressions/Constants/math_operators_t07.dart
+++ b/Language/Expressions/Constants/math_operators_t07.dart
@@ -15,11 +15,10 @@
 /// initialize a constant variable if e1 and e2 are strings.
 /// @author ngl@unipro.ru
 
-
 import '../../../Utils/expect.dart';
 
 const m = "ab" + "cd";
 
 main() {
-  Expect.isTrue(m is String);
+  checkType(checkIs<String>, true, m);
 }
diff --git a/Language/Expressions/Constants/math_operators_t08.dart b/Language/Expressions/Constants/math_operators_t08.dart
index 3682176..10d1793 100644
--- a/Language/Expressions/Constants/math_operators_t08.dart
+++ b/Language/Expressions/Constants/math_operators_t08.dart
@@ -30,5 +30,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/no_other_constant_expressions_t17.dart b/Language/Expressions/Constants/no_other_constant_expressions_t17.dart
index f2dcab6..182ca06 100644
--- a/Language/Expressions/Constants/no_other_constant_expressions_t17.dart
+++ b/Language/Expressions/Constants/no_other_constant_expressions_t17.dart
@@ -9,7 +9,6 @@
 /// constant variable.

 /// @author iefremov

 

-

 import "../../../Utils/expect.dart";

 

 const m1 = null is Object;

diff --git a/Language/Expressions/Constants/null_t01.dart b/Language/Expressions/Constants/null_t01.dart
index 9489133..94d355a 100644
--- a/Language/Expressions/Constants/null_t01.dart
+++ b/Language/Expressions/Constants/null_t01.dart
@@ -11,11 +11,10 @@
 /// and is, therefore, a constant expression.
 /// @author iefremov
 
-
 import '../../../Utils/expect.dart';
 
 final constList = const [null];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/parenthesized_expression_t01.dart b/Language/Expressions/Constants/parenthesized_expression_t01.dart
index aa7edc5..5f5efa9 100644
--- a/Language/Expressions/Constants/parenthesized_expression_t01.dart
+++ b/Language/Expressions/Constants/parenthesized_expression_t01.dart
@@ -11,7 +11,6 @@
 /// element of a constant list literal and is, therefore, a constant expression.
 /// @author msyabro
 
-
 import '../../../Utils/expect.dart';
 
 const x = '';
@@ -43,5 +42,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/static_constant_t01.dart b/Language/Expressions/Constants/static_constant_t01.dart
index 6ee47d9..1d685b0 100644
--- a/Language/Expressions/Constants/static_constant_t01.dart
+++ b/Language/Expressions/Constants/static_constant_t01.dart
@@ -12,7 +12,6 @@
 /// elementof a constant list literal and is, therefore, a constant expression.
 /// @author iefremov
 
-
 import '../../../Utils/expect.dart';
 
 const x = '';
@@ -27,5 +26,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/static_constant_t05.dart b/Language/Expressions/Constants/static_constant_t05.dart
index 324c8d0..957c0e1 100644
--- a/Language/Expressions/Constants/static_constant_t05.dart
+++ b/Language/Expressions/Constants/static_constant_t05.dart
@@ -12,7 +12,6 @@
 /// constant variable can be used as a constant expression.
 /// @author ngl@unipro.ru
 
-
 import '../../../Utils/expect.dart';
 import 'constants_lib.dart' as clib;
 
@@ -25,5 +24,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  checkType(checkIs<List>, true, constList);
 }
diff --git a/Language/Expressions/Constants/static_constant_t06.dart b/Language/Expressions/Constants/static_constant_t06.dart
index 3f727ea..a449c92 100644
--- a/Language/Expressions/Constants/static_constant_t06.dart
+++ b/Language/Expressions/Constants/static_constant_t06.dart
@@ -12,8 +12,6 @@
 /// static constant variable cannot be used as a constant expression.
 /// @author ngl@unipro.ru
 
-
-import '../../../Utils/expect.dart';
 import 'constants_lib.dart' deferred as clib;
 
 const x = '';
@@ -30,5 +28,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  print(constList);
 }
diff --git a/Language/Expressions/Constants/static_constant_t07.dart b/Language/Expressions/Constants/static_constant_t07.dart
index 7be0f37..2aeb636 100644
--- a/Language/Expressions/Constants/static_constant_t07.dart
+++ b/Language/Expressions/Constants/static_constant_t07.dart
@@ -12,8 +12,6 @@
 /// static constant class variable cannot be used as a constant expression.
 /// @author ngl@unipro.ru
 
-
-import '../../../Utils/expect.dart';
 import 'constants_lib.dart' deferred as clib;
 
 const x = '';
@@ -35,5 +33,5 @@
 ];
 
 main() {
-  Expect.isTrue(constList is List);
+  print(constList);
 }
diff --git a/Language/Expressions/Constants/string_length_t02.dart b/Language/Expressions/Constants/string_length_t02.dart
index 4461d01..d81ef89 100644
--- a/Language/Expressions/Constants/string_length_t02.dart
+++ b/Language/Expressions/Constants/string_length_t02.dart
@@ -13,9 +13,6 @@
 /// @issue #24940
 /// @author ngl@unipro.ru
 
-
-import '../../../Utils/expect.dart';
-
 String m = "abc";
 const l = m.length;
 //        ^
@@ -23,5 +20,5 @@
 // [cfe] unspecified
 
 main() {
-  Expect.isTrue(l is int);
+  print(l);
 }
diff --git a/Language/Expressions/Constants/string_length_t03.dart b/Language/Expressions/Constants/string_length_t03.dart
index 5992f43..b335ce7 100644
--- a/Language/Expressions/Constants/string_length_t03.dart
+++ b/Language/Expressions/Constants/string_length_t03.dart
@@ -13,9 +13,6 @@
 /// @Issue #24940
 /// @author ngl@unipro.ru
 
-
-import '../../../Utils/expect.dart';
-
 const Object o = "ab" + "cd";
 const l = o.toString().length;
 //        ^
@@ -23,5 +20,5 @@
 // [cfe] unspecified
 
 main() {
-  Expect.isTrue(l is int);
+  print(l);
 }
diff --git a/Language/Expressions/Constants/ternary_operator_t01.dart b/Language/Expressions/Constants/ternary_operator_t01.dart
index 8b8ed2e..9e0f686 100644
--- a/Language/Expressions/Constants/ternary_operator_t01.dart
+++ b/Language/Expressions/Constants/ternary_operator_t01.dart
@@ -12,7 +12,6 @@
 /// operands are constant expressions.
 /// @author ilya
 
-
 import '../../../Utils/expect.dart';
 
 const x = false;
@@ -28,5 +27,5 @@
 ];
 
 main() {
-  Expect.isTrue(list is List);
+  checkType(checkIs<List>, true, list);
 }
diff --git a/Language/Expressions/Constants/top_level_function_t03.dart b/Language/Expressions/Constants/top_level_function_t03.dart
index 77dcf49..df2c29a 100644
--- a/Language/Expressions/Constants/top_level_function_t03.dart
+++ b/Language/Expressions/Constants/top_level_function_t03.dart
@@ -13,7 +13,6 @@
 /// variable.
 /// @author ngl@unipro.ru
 
-
 import '../../../Utils/expect.dart';
 import 'constants_lib.dart' as clib;
 
@@ -29,8 +28,8 @@
 const d = clib.B.M;
 
 main() {
-  Expect.isTrue(a is Function);
-  Expect.isTrue(b is Function);
-  Expect.isTrue(c is Function);
-  Expect.isTrue(d is Function);
+  checkType(checkIs<Function>, true, a);
+  checkType(checkIs<Function>, true, b);
+  checkType(checkIs<Function>, true, c);
+  checkType(checkIs<Function>, true, d);
 }
diff --git a/Language/Expressions/Function_Expressions/class_function_t01.dart b/Language/Expressions/Function_Expressions/class_function_t01.dart
index 9498d51..39013f5 100644
--- a/Language/Expressions/Function_Expressions/class_function_t01.dart
+++ b/Language/Expressions/Function_Expressions/class_function_t01.dart
@@ -7,13 +7,12 @@
 /// @description Checks that a function literal implements interface Function.
 /// @author msyabro
 
-
 import '../../../Utils/expect.dart';
 
 main() {
-  Expect.isTrue(() {} is Function);
-  Expect.isTrue((() => 1) is Function);
-  Expect.isTrue(((p1, p2) {}) is Function);
-  Expect.isTrue(((p1, [int? p2]) {}) is Function);
-  Expect.isTrue(((p1, {int p2: 1}) {}) is Function);
+  checkType(checkIs<Function>, true, () {});
+  checkType(checkIs<Function>, true, (() => 1));
+  checkType(checkIs<Function>, true, ((p1, p2) {}));
+  checkType(checkIs<Function>, true, ((p1, [int? p2]) {}));
+  checkType(checkIs<Function>, true, ((p1, {int p2: 1}) {}));
 }
diff --git a/Language/Expressions/If_null_Expressions/static_type_t02.dart b/Language/Expressions/If_null_Expressions/static_type_t02.dart
index 317ef63..c6d5d72 100644
--- a/Language/Expressions/If_null_Expressions/static_type_t02.dart
+++ b/Language/Expressions/If_null_Expressions/static_type_t02.dart
@@ -19,7 +19,7 @@
 main() {
   var d = 1.0 as double?;
   var x1 = d ?? 2.0;
-  Expect.isTrue(x1 is double);
+  checkType(checkIs<double>, true, x1);
 
   var x2 = null ?? 2.0;
   Expect.isTrue(x2 is double);
diff --git a/Language/Expressions/Instance_Creation/Const/canonicalized_t01.dart b/Language/Expressions/Instance_Creation/Const/canonicalized_t01.dart
index b4a7185..6cd3e37 100644
--- a/Language/Expressions/Instance_Creation/Const/canonicalized_t01.dart
+++ b/Language/Expressions/Instance_Creation/Const/canonicalized_t01.dart
@@ -42,8 +42,8 @@
 }
 
 main() {
-  Expect.isTrue(const A.name() is A);
-  Expect.isTrue(const B.name(1, 2) is B);
-  Expect.isTrue(const C.name("") is C);
-  Expect.isTrue(const D.name(null, p2: 1) is D);
+  checkType(checkIs<A>, true, const A.name());
+  checkType(checkIs<B>, true, const B.name(1, 2));
+  checkType(checkIs<C>, true, const C.name(""));
+  checkType(checkIs<D>, true, const D.name(null, p2: 1));
 }
diff --git a/Language/Expressions/Instance_Creation/Const/canonicalized_t02.dart b/Language/Expressions/Instance_Creation/Const/canonicalized_t02.dart
index b0be56a..ae70b40 100644
--- a/Language/Expressions/Instance_Creation/Const/canonicalized_t02.dart
+++ b/Language/Expressions/Instance_Creation/Const/canonicalized_t02.dart
@@ -42,8 +42,8 @@
 }
 
 main() {
-  Expect.isTrue(const A() is A);
-  Expect.isTrue(const B(0) is B);
-  Expect.isTrue(const C(p2: true, p1: "") is C);
-  Expect.isTrue(const D(0, 0) is D);
+  checkType(checkIs<A>, true, const A());
+  checkType(checkIs<B>, true, const B(0));
+  checkType(checkIs<C>, true, const C(p2: true, p1: ""));
+  checkType(checkIs<D>, true, const D(0, 0));
 }
diff --git a/Language/Expressions/Instance_Creation/New/execution_t02.dart b/Language/Expressions/Instance_Creation/New/execution_t02.dart
index ae6cc9c..4f683bd 100644
--- a/Language/Expressions/Instance_Creation/New/execution_t02.dart
+++ b/Language/Expressions/Instance_Creation/New/execution_t02.dart
@@ -32,10 +32,10 @@
 }
 
 class B <T extends A> {
-  A t;
+  A? t;
   B(): t = new A() {
     Expect.isNotNull(t);
-    Expect.isTrue(t is A);
+    checkType(checkIs<A>, true, t);
   }
 }
 
diff --git a/Language/Expressions/Instance_Creation/New/execution_t08.dart b/Language/Expressions/Instance_Creation/New/execution_t08.dart
index 7447888..c57604c 100644
--- a/Language/Expressions/Instance_Creation/New/execution_t08.dart
+++ b/Language/Expressions/Instance_Creation/New/execution_t08.dart
@@ -12,7 +12,6 @@
 
 import '../../../../Utils/expect.dart';
 
-
 class A {}
 
 class B {
@@ -28,8 +27,8 @@
 }
 
 main() {
-  Expect.isTrue(new A() is A);
-  Expect.isTrue(new B(1, 2) is B);
-  Expect.isTrue(new C(null, null) is C);
-  Expect.isTrue(new D.name() is D);
+  checkType(checkIs<A>, true, new A());
+  checkType(checkIs<B>, true, new B(1, 2));
+  checkType(checkIs<C>, true, new C(null, null));
+  checkType(checkIs<D>, true, new D.name());
 }
diff --git a/Language/Expressions/Instance_Creation/New/execution_t11.dart b/Language/Expressions/Instance_Creation/New/execution_t11.dart
index 2264e25..a915ab5 100644
--- a/Language/Expressions/Instance_Creation/New/execution_t11.dart
+++ b/Language/Expressions/Instance_Creation/New/execution_t11.dart
@@ -31,7 +31,7 @@
 
   T x;
   U y;
-  V z;
+  V? z;
 }
 
 class B <T extends A> {
@@ -39,10 +39,10 @@
 
   B.redirected(): t = new A() {
     Expect.isNotNull(t);
-    Expect.isTrue(t is A);
+    checkType(checkIs<A>, true, t);
   }
 
-  A t;
+  A? t;
 }
 
 class C<T, U> {
@@ -56,7 +56,7 @@
   }
 
   T a;
-  U b;
+  U? b;
 }
 
 main() {
diff --git a/Language/Expressions/Instance_Creation/New/execution_t14.dart b/Language/Expressions/Instance_Creation/New/execution_t14.dart
index 95db608..44fa347 100644
--- a/Language/Expressions/Instance_Creation/New/execution_t14.dart
+++ b/Language/Expressions/Instance_Creation/New/execution_t14.dart
@@ -33,8 +33,8 @@
 }
 
 main() {
-  Expect.isTrue(new A() is A);
-  Expect.isTrue(new B(1, 2) is B);
-  Expect.isTrue(new C(null, null) is C);
-  Expect.isTrue(new D.name() is D);
+  checkType(checkIs<A>, true, new A());
+  checkType(checkIs<B>, true, new B(1, 2));
+  checkType(checkIs<C>, true, new C(null, null));
+  checkType(checkIs<D>, true, new D.name());
 }
diff --git a/Language/Expressions/Instance_Creation/New/type_t08.dart b/Language/Expressions/Instance_Creation/New/type_t08.dart
index 11669f5..e546e8f 100644
--- a/Language/Expressions/Instance_Creation/New/type_t08.dart
+++ b/Language/Expressions/Instance_Creation/New/type_t08.dart
@@ -27,32 +27,32 @@
 
 main() {
   CAlias c1 = new CAlias();
-  Expect.isTrue(c1 is C);
-  Expect.isTrue(c1 is CAlias);
+  checkType(checkIs<C>, true, c1);
+  checkType(checkIs<CAlias>, true, c1);
   Expect.equals("default", c1.log);
 
   CAlias c2 = new CAlias.named();
-  Expect.isTrue(c2 is C);
-  Expect.isTrue(c2 is CAlias);
+  checkType(checkIs<C>, true, c2);
+  checkType(checkIs<CAlias>, true, c2);
   Expect.equals("named", c2.log);
 
   CAlias c3 = new C();
-  Expect.isTrue(c3 is C);
-  Expect.isTrue(c3 is CAlias);
+  checkType(checkIs<C>, true, c3);
+  checkType(checkIs<CAlias>, true, c3);
   Expect.equals("default", c3.log);
 
   CAlias c4 = new C.named();
-  Expect.isTrue(c4 is C);
-  Expect.isTrue(c4 is CAlias);
+  checkType(checkIs<C>, true, c4);
+  checkType(checkIs<CAlias>, true, c4);
   Expect.equals("named", c4.log);
 
   C c5 = new CAlias();
-  Expect.isTrue(c5 is C);
-  Expect.isTrue(c5 is CAlias);
+  checkType(checkIs<C>, true, c5);
+  checkType(checkIs<CAlias>, true, c5);
   Expect.equals("default", c5.log);
 
   C c6 = new CAlias.named();
-  Expect.isTrue(c6 is C);
-  Expect.isTrue(c6 is CAlias);
+  checkType(checkIs<C>, true, c6);
+  checkType(checkIs<CAlias>, true, c6);
   Expect.equals("named", c6.log);
 }
diff --git a/Language/Expressions/Instance_Creation/New/type_t09.dart b/Language/Expressions/Instance_Creation/New/type_t09.dart
index bdf6079..037e6a4 100644
--- a/Language/Expressions/Instance_Creation/New/type_t09.dart
+++ b/Language/Expressions/Instance_Creation/New/type_t09.dart
@@ -27,32 +27,32 @@
 
 main() {
   CAlias c1 = new CAlias();
-  Expect.isTrue(c1 is C<dynamic, String>);
-  Expect.isTrue(c1 is CAlias<dynamic>);
+  checkType(checkIs<C<dynamic, String>>, true, c1);
+  checkType(checkIs<CAlias<dynamic>>, true, c1);
   Expect.equals("default", c1.log);
 
   CAlias<int> c2 = new CAlias<int>.named();
-  Expect.isTrue(c2 is C<int, String>);
-  Expect.isTrue(c2 is CAlias<int>);
+  checkType(checkIs<C<int, String>>, true, c2);
+  checkType(checkIs<CAlias<int>>, true, c2);
   Expect.equals("named", c2.log);
 
   CAlias<int> c3 = new C<int, String>();
-  Expect.isTrue(c3 is C<int, String>);
-  Expect.isTrue(c3 is CAlias<int>);
+  checkType(checkIs<C<int, String>>, true, c3);
+  checkType(checkIs<CAlias<int>>, true, c3);
   Expect.equals("default", c3.log);
 
   CAlias<int> c4 = new C<int, String>.named();
-  Expect.isTrue(c4 is C<int, String>);
-  Expect.isTrue(c4 is CAlias<int>);
+  checkType(checkIs<C<int, String>>, true, c4);
+  checkType(checkIs<CAlias<int>>, true, c4);
   Expect.equals("named", c4.log);
 
   C<int, String> c5 = new CAlias<int>();
-  Expect.isTrue(c5 is C<int, String>);
-  Expect.isTrue(c5 is CAlias<int>);
+  checkType(checkIs<C<int, String>>, true, c5);
+  checkType(checkIs<CAlias<int>>, true, c5);
   Expect.equals("default", c5.log);
 
   C<int, String> c6 = new CAlias<int>.named();
-  Expect.isTrue(c6 is C<int, String>);
-  Expect.isTrue(c6 is CAlias<int>);
+  checkType(checkIs<C<int, String>>, true, c6);
+  checkType(checkIs<CAlias<int>>, true, c6);
   Expect.equals("named", c6.log);
 }
diff --git a/Language/Expressions/Lists/runtime_list_literal_t04.dart b/Language/Expressions/Lists/runtime_list_literal_t04.dart
index cea181c..ad5eb99 100644
--- a/Language/Expressions/Lists/runtime_list_literal_t04.dart
+++ b/Language/Expressions/Lists/runtime_list_literal_t04.dart
@@ -19,9 +19,9 @@
 class C {}
 
 main() {
-  Expect.isTrue(<int>[] is List<int>);
-  Expect.isTrue(<int>[1, 2, 3 + 4] is List<int>);
-  Expect.isTrue(<bool>[false, 1 < 2] is List<bool>);
-  Expect.isTrue(<String>["a", "b", "c"] is List<String>);
-  Expect.isTrue(<C>[new C(), new C()] is List<C>);
+  checkType(checkIs<List<int>>, true, <int>[]);
+  checkType(checkIs<List<int>>, true, <int>[1, 2, 3 + 4]);
+  checkType(checkIs<List<bool>>, true, <bool>[false, 1 < 2]);
+  checkType(checkIs<List<String>>, true, <String>["a", "b", "c"]);
+  checkType(checkIs<List<C>>, true, <C>[new C(), new C()]);
 }
diff --git a/Language/Expressions/Lists/syntax_t01.dart b/Language/Expressions/Lists/syntax_t01.dart
index 065208f..185d204 100644
--- a/Language/Expressions/Lists/syntax_t01.dart
+++ b/Language/Expressions/Lists/syntax_t01.dart
@@ -11,7 +11,6 @@
 /// errors.
 /// @author msyabro
 
-
 topFunc() {}
 
 class S {
diff --git a/Language/Expressions/Lists/value_of_a_constant_list_t01.dart b/Language/Expressions/Lists/value_of_a_constant_list_t01.dart
index 81ca7fe..25a1eae 100644
--- a/Language/Expressions/Lists/value_of_a_constant_list_t01.dart
+++ b/Language/Expressions/Lists/value_of_a_constant_list_t01.dart
@@ -16,9 +16,9 @@
 }
 
 main() {
-  Expect.isTrue(const <int>[] is List<int>);
-  Expect.isTrue(const <int>[1, 2, 3 + 4] is List<int>);
-  Expect.isTrue(const <bool>[false, 1 < 2] is List<bool>);
-  Expect.isTrue(const <String>["a", "b", "c"] is List<String>);
-  Expect.isTrue(const <C>[const C(), const C()] is List<C>);
+  checkType(checkIs<List<int>>, true, const <int>[]);
+  checkType(checkIs<List<int>>, true, const <int>[1, 2, 3 + 4]);
+  checkType(checkIs<List<bool>>, true, const <bool>[false, 1 < 2]);
+  checkType(checkIs<List<String>>, true, <String>["a", "b", "c"]);
+  checkType(checkIs<List<C>>, true, const <C>[const C(), const C()]);
 }
diff --git a/Language/Expressions/Maps/runtime_map_t04.dart b/Language/Expressions/Maps/runtime_map_t04.dart
index 82bcddb..725d5b1 100644
--- a/Language/Expressions/Maps/runtime_map_t04.dart
+++ b/Language/Expressions/Maps/runtime_map_t04.dart
@@ -22,8 +22,8 @@
 class C {}
 
 main() {
-  Expect.isTrue(<String, int>{"": 1} is Map<String, int>);
-  Expect.isTrue(<String, String>{"": "string"} is Map<String, String>);
-  Expect.isTrue(<String, bool>{"": true} is Map<String, bool>);
-  Expect.isTrue(<String, C>{"": new C()} is Map<String, C>);
+  checkType(checkIs<Map<String, int>>, true, <String, int>{"": 1});
+  checkType(checkIs<Map<String, String>>, true, <String, String>{"": "string"});
+  checkType(checkIs<Map<String, bool>>, true, <String, bool>{"": true});
+  checkType(checkIs<Map<String, C>>, true, <String, C>{"": new C()});
 }
diff --git a/Language/Expressions/Maps/syntax_t01.dart b/Language/Expressions/Maps/syntax_t01.dart
index c421f45..d645aa5 100644
--- a/Language/Expressions/Maps/syntax_t01.dart
+++ b/Language/Expressions/Maps/syntax_t01.dart
@@ -16,7 +16,6 @@
 /// errors.
 /// @author msyabro
 
-
 topFunc() {}
 
 class S {
diff --git a/Language/Expressions/Maps/value_of_a_constant_map_t01.dart b/Language/Expressions/Maps/value_of_a_constant_map_t01.dart
index df4d0b0..47dbb6b 100644
--- a/Language/Expressions/Maps/value_of_a_constant_map_t01.dart
+++ b/Language/Expressions/Maps/value_of_a_constant_map_t01.dart
@@ -21,8 +21,8 @@
 }
 
 main() {
-  Expect.isTrue(const <String, int>{"": 1} is Map<String, int>);
-  Expect.isTrue(const <String, String>{"": "string"} is Map<String, String>);
-  Expect.isTrue(const <String, bool>{"": true} is Map<String, bool>);
-  Expect.isTrue(const <String, S>{"": const S()} is Map<String, S>);
+  checkType(checkIs<Map<String, int>>, true, const <String, int>{"": 1});
+  checkType(checkIs<Map<String, String>>, true, const <String, String>{"": "string"});
+  checkType(checkIs<Map<String, bool>>, true, const <String, bool>{"": true});
+  checkType(checkIs<Map<String, S>>, true, const <String, S>{"": const S()});
 }
diff --git a/Language/Expressions/Null/instance_of_class_null_t01.dart b/Language/Expressions/Null/instance_of_class_null_t01.dart
index e735a8f..7b53718 100644
--- a/Language/Expressions/Null/instance_of_class_null_t01.dart
+++ b/Language/Expressions/Null/instance_of_class_null_t01.dart
@@ -6,9 +6,8 @@
 /// @description Checks that null is an instance of the Null class.
 /// @author ilya
 
-
 import '../../../Utils/expect.dart';
 
 main() {
-  Expect.isTrue(null is Null);
+  checkType(checkIs<Null>, true, null);
 }
diff --git a/Language/Expressions/Null/instance_of_class_null_t02.dart b/Language/Expressions/Null/instance_of_class_null_t02.dart
index 87933bc..695e631 100644
--- a/Language/Expressions/Null/instance_of_class_null_t02.dart
+++ b/Language/Expressions/Null/instance_of_class_null_t02.dart
@@ -12,9 +12,9 @@
 
 main() {
   var n = null;
-  Expect.isTrue(Null is Type);
-  Expect.isTrue(null is Null);
-  Expect.isTrue(n is Null);
-  Expect.isFalse(null is A);
-  Expect.isFalse(n is A);
+  checkType(checkIs<Type>, true, Null);
+  checkType(checkIs<Null>, true, null);
+  checkType(checkIs<Null>, true, n);
+  checkType(checkIs<A>, false, null);
+  checkType(checkIs<A>, false, n);
 }
diff --git a/Language/Expressions/Strings/String_Interpolation/syntax_t01.dart b/Language/Expressions/Strings/String_Interpolation/syntax_t01.dart
index dd577ab..0b8e455 100644
--- a/Language/Expressions/Strings/String_Interpolation/syntax_t01.dart
+++ b/Language/Expressions/Strings/String_Interpolation/syntax_t01.dart
@@ -14,7 +14,6 @@
 /// the specification don't produce compile-time errors.
 /// @author msyabro
 
-
 import 'String_Interpolation_lib.dart';
 
 topFunc(p1, p2) {}
diff --git a/Language/Expressions/Strings/implement_class_string_t01.dart b/Language/Expressions/Strings/implement_class_string_t01.dart
index 33619e6..11bbce5 100644
--- a/Language/Expressions/Strings/implement_class_string_t01.dart
+++ b/Language/Expressions/Strings/implement_class_string_t01.dart
@@ -9,19 +9,19 @@
 import '../../../Utils/expect.dart';
 
 main() {
-  Expect.isTrue("" is String);
-  Expect.isTrue('' is String);
-  Expect.isTrue(r"" is String);
-  Expect.isTrue(r'' is String);
-  Expect.isTrue("""""" is String);
-  Expect.isTrue('''''' is String);
-  Expect.isTrue(r"""""" is String);
-  Expect.isTrue(r'''''' is String);
+  checkType(checkIs<String>, true, "");
+  checkType(checkIs<String>, true, '');
+  checkType(checkIs<String>, true, r"");
+  checkType(checkIs<String>, true, r'');
+  checkType(checkIs<String>, true, """""");
+  checkType(checkIs<String>, true, '''''');
+  checkType(checkIs<String>, true, r"""""");
+  checkType(checkIs<String>, true, r'''''');
 
-  Expect.isTrue("String" is String);
-  Expect.isTrue('\x00\x01\x02' is String);
-  Expect.isTrue(r"\\\\\\\\" is String);
-  Expect.isTrue(r'$$$$$' is String);
-  Expect.isTrue("""
-                new line """ is String);
+  checkType(checkIs<String>, true, "String");
+  checkType(checkIs<String>, true, '\x00\x01\x02');
+  checkType(checkIs<String>, true, r"\\\\\\\\");
+  checkType(checkIs<String>, true, r'$$$$$');
+  checkType(checkIs<String>, true, """
+                new line """);
 }
diff --git a/Language/Expressions/Strings/runtime_type_t01.dart b/Language/Expressions/Strings/runtime_type_t01.dart
index aca6461..276f801 100644
--- a/Language/Expressions/Strings/runtime_type_t01.dart
+++ b/Language/Expressions/Strings/runtime_type_t01.dart
@@ -11,12 +11,12 @@
 import '../../../Utils/expect.dart';
 
 main() {
-  Expect.isTrue("abc".runtimeType is Type);
+  checkType(checkIs<Type>, true, "abc".runtimeType);
   Expect.isTrue("abc".runtimeType == String);
-  Expect.isTrue('abc'.runtimeType is Type);
+  checkType(checkIs<Type>, true, 'abc'.runtimeType);
   Expect.isTrue('abc'.runtimeType == String);
-  Expect.isTrue(r"abc".runtimeType is Type);
+  checkType(checkIs<Type>, true, r"abc".runtimeType);
   Expect.isTrue(r"abc".runtimeType == String);
-  Expect.isTrue(r'abc'.runtimeType is Type);
+  checkType(checkIs<Type>, true, r'abc'.runtimeType);
   Expect.isTrue(r'abc'.runtimeType == String);
 }
diff --git a/Language/Expressions/This/definition_t06.dart b/Language/Expressions/This/definition_t06.dart
index c5777a7..456a546 100644
--- a/Language/Expressions/This/definition_t06.dart
+++ b/Language/Expressions/This/definition_t06.dart
@@ -15,23 +15,23 @@
 class A{
   int x = 5;
 
-  A getSelf() {
+  A get self {
     return this;
   }
 }
 
 main() {
   A a = new A();
-  Expect.isTrue(a.getSelf() is A);
-  Expect.equals(a, a.getSelf());
+  checkType(checkIs<A>, true, a.self);
+  Expect.equals(a, a.self);
   Expect.equals(5, a.x);
-  Expect.equals(5, a.getSelf().x);
+  Expect.equals(5, a.self.x);
 
   a.x = 1;
   Expect.equals(1, a.x);
-  Expect.equals(1, a.getSelf().x);
+  Expect.equals(1, a.self.x);
 
-  a.getSelf().x = 2;
+  a.self.x = 2;
   Expect.equals(2, a.x);
-  Expect.equals(2, a.getSelf().x);
+  Expect.equals(2, a.self.x);
 }
diff --git a/Language/Expressions/Type_Test/definition_t09.dart b/Language/Expressions/Type_Test/definition_t09.dart
index 2a518ea..5760609 100644
--- a/Language/Expressions/Type_Test/definition_t09.dart
+++ b/Language/Expressions/Type_Test/definition_t09.dart
@@ -9,7 +9,6 @@
 /// does not show that v has type T.
 /// @author ilya
 
-
 class C {}
 class D extends C { f() {} }
 
diff --git a/Language/Expressions/Type_Test/evaluation_t05.dart b/Language/Expressions/Type_Test/evaluation_t05.dart
index 89161ce..4cd6614 100644
--- a/Language/Expressions/Type_Test/evaluation_t05.dart
+++ b/Language/Expressions/Type_Test/evaluation_t05.dart
@@ -12,7 +12,6 @@
 /// less then n type parameters, then it is a compile error
 /// @author msyabro
 
-
 class G<T> {}
 
 main() {
diff --git a/Language/Expressions/Type_Test/evaluation_t06.dart b/Language/Expressions/Type_Test/evaluation_t06.dart
index 449bcbb..04fb1d3 100644
--- a/Language/Expressions/Type_Test/evaluation_t06.dart
+++ b/Language/Expressions/Type_Test/evaluation_t06.dart
@@ -12,7 +12,6 @@
 /// which has more then n type parameters, then it is a compile error
 /// @author msyabro
 
-
 class G<T, U, V> {}
 
 main() {
diff --git a/Language/Expressions/Type_Test/evaluation_t07.dart b/Language/Expressions/Type_Test/evaluation_t07.dart
index c56fae4..a662989 100644
--- a/Language/Expressions/Type_Test/evaluation_t07.dart
+++ b/Language/Expressions/Type_Test/evaluation_t07.dart
@@ -12,7 +12,6 @@
 /// argument and G is generic type, then it is a compile error
 /// @author ilya
 
-
 class G<T> {}
 
 main() {
diff --git a/Language/Expressions/Type_Test/evaluation_t08.dart b/Language/Expressions/Type_Test/evaluation_t08.dart
index 7e1f906..5bfc7cf 100644
--- a/Language/Expressions/Type_Test/evaluation_t08.dart
+++ b/Language/Expressions/Type_Test/evaluation_t08.dart
@@ -12,7 +12,6 @@
 /// type, then it is a compile error
 /// @author ilya
 
-
 class G {}
 
 main() {
diff --git a/Language/Expressions/Type_Test/static_type_t01.dart b/Language/Expressions/Type_Test/static_type_t01.dart
index 42fb6d0..68795c7 100644
--- a/Language/Expressions/Type_Test/static_type_t01.dart
+++ b/Language/Expressions/Type_Test/static_type_t01.dart
@@ -6,8 +6,6 @@
 /// @description Checks that the static checker does not raise warnings when
 /// assigning the result of the is-expression to bool variables.
 /// @author msyabro
-/// @reviewer kaigorodov
-
 
 main() {
   bool e = 1 is int;
diff --git a/Language/Expressions/Type_Test/syntax_t01.dart b/Language/Expressions/Type_Test/syntax_t01.dart
index 3ba8a6a..4c5214a 100644
--- a/Language/Expressions/Type_Test/syntax_t01.dart
+++ b/Language/Expressions/Type_Test/syntax_t01.dart
@@ -12,7 +12,6 @@
 /// @description Checks basic grammar.
 /// @author msyabro
 
-
 main() {
   1 is int;
   2 is! int;
diff --git a/Language/Expressions/Type_Test/syntax_t02.dart b/Language/Expressions/Type_Test/syntax_t02.dart
index 64ffc59..0481c88 100644
--- a/Language/Expressions/Type_Test/syntax_t02.dart
+++ b/Language/Expressions/Type_Test/syntax_t02.dart
@@ -13,7 +13,6 @@
 /// operand of a type test expression is a type name.
 /// @author kaigorodov
 
-
 main() {
   int is Type;
 }
diff --git a/Language/Expressions/Type_Test/syntax_t03.dart b/Language/Expressions/Type_Test/syntax_t03.dart
index 99e95a7..d584ee1 100644
--- a/Language/Expressions/Type_Test/syntax_t03.dart
+++ b/Language/Expressions/Type_Test/syntax_t03.dart
@@ -13,7 +13,6 @@
 /// literal in the right part of the expression.

 /// @author msyabro

 

-

 main () {

   1 is 1;

 //     ^

diff --git a/Language/Expressions/Type_Test/syntax_t04.dart b/Language/Expressions/Type_Test/syntax_t04.dart
index a4c763a..76ab0c1 100644
--- a/Language/Expressions/Type_Test/syntax_t04.dart
+++ b/Language/Expressions/Type_Test/syntax_t04.dart
@@ -13,7 +13,6 @@
 /// operand of a type test expression is a type alias name.
 /// @author kaigorodov
 
-
 typedef f();
 
 main() {
diff --git a/Language/Expressions/Type_Test/syntax_t05.dart b/Language/Expressions/Type_Test/syntax_t05.dart
index 79f4cdb..b5db913 100644
--- a/Language/Expressions/Type_Test/syntax_t05.dart
+++ b/Language/Expressions/Type_Test/syntax_t05.dart
@@ -13,7 +13,6 @@
 /// expression is a statement.

 /// @author msyabro

 

-

 main () {

   if (1 < 2) {} is bool;

 //              ^

diff --git a/Language/Expressions/syntax_t01.dart b/Language/Expressions/syntax_t01.dart
index f8c0e38..f402905 100644
--- a/Language/Expressions/syntax_t01.dart
+++ b/Language/Expressions/syntax_t01.dart
@@ -62,14 +62,14 @@
   Expect.isTrue(false == (false));
   Expect.isTrue(null == (null));
   Expect.isTrue(-1.1 == (-1.1));
-  Expect.isTrue(([]) is List);
+  checkType(checkIs<List>, true, ([]));
   Expect.listEquals([], ([]));
   Expect.listEquals([1, 2, "three"], ([1, 2, "three"]));
-  Expect.isTrue(({}) is Map);
+  checkType(checkIs<Map>, true, ({}));
   Expect.mapEquals({}, ({}));
   Expect.mapEquals({"foo": "f00", "bar": 214}, ({"foo": "f00", "bar": 214}));
   Expect.isTrue(() {return 3;}() == (() {return 3;}()));
-  Expect.isTrue((new A()) is A);
+  checkType(checkIs<A>, true, (new A()));
   Expect.isTrue((new A()) != null);
   A a = new A();
   Expect.equals(a, (a));
diff --git a/Language/Functions/Type_of_a_Function/function_type_t01.dart b/Language/Functions/Type_of_a_Function/function_type_t01.dart
index 27363c8..09982ad 100644
--- a/Language/Functions/Type_of_a_Function/function_type_t01.dart
+++ b/Language/Functions/Type_of_a_Function/function_type_t01.dart
@@ -24,15 +24,15 @@
 
 main() {
   int f1(int p1) {return p1;};
-  Expect.isTrue(f1 is F1);
+  checkType(checkIs<F1>, true, f1);
   Function f = f1;
 
   int f2(int p1, int p2, [int p3 = 0, int p4 = 0]) {return p1 + p2 + p3 + p4;};
-  Expect.isTrue(f2 is F2);
+  checkType(checkIs<F2>, true, f2);
   f = f2;
 
   int f3(int p1, int p2, int p3, {p4, p5}) {return p1 + p2 + p3;};
-  Expect.isTrue(f3 is F3);
+  checkType(checkIs<F3>, true, f3);
   f = f3;
 
   Expect.isFalse(f1 is F2);
@@ -41,5 +41,4 @@
   Expect.isFalse(f2 is F3);
   Expect.isFalse(f3 is F1);
   Expect.isFalse(f3 is F2);
-
 }
diff --git a/Language/Functions/Type_of_a_Function/return_type_t02.dart b/Language/Functions/Type_of_a_Function/return_type_t02.dart
index 2ea15ab..ca17b6b 100644
--- a/Language/Functions/Type_of_a_Function/return_type_t02.dart
+++ b/Language/Functions/Type_of_a_Function/return_type_t02.dart
@@ -22,8 +22,8 @@
 }
 
 main() {
-  Expect.isTrue(new A() is A);
-  Expect.isTrue(new A.b() is A);
-  Expect.isTrue(const C() is C);
-  Expect.isTrue(const C.c() is C);
+  checkType(checkIs<A>, true, new A());
+  checkType(checkIs<A>, true, new A.b());
+  checkType(checkIs<C>, true, new C());
+  checkType(checkIs<C>, true, new C.c());
 }