const String intStringConcat = "hello" "${intFortyTwo * intFortyTwo}";
const bool isItDouble = maybeInt is double ? true : false;
const bool isItDouble2 = actualInt is double ? true : false;
const bool isItDouble3 = maybeDouble is double ? true : false;
const bool isItDouble4 = actualDouble is double ? true : false;
const bool isItDouble5 = maybeDouble2 is double ? true : false;
const bool isItDouble7 = actualDouble2 is double ? true : false;
const bool isItInt = maybeInt is int ? true : false;
const bool isItInt2 = actualInt is int ? true : false;
const bool isItInt3 = maybeDouble is int ? true : false;
const bool isItInt4 = actualDouble is int ? true : false;
const bool isItInt5 = maybeDouble2 is int ? true : false;
const bool isItInt6 = actualDouble2 is int ? true : false;
const bool y = false;
const bool z = !(y);
const double actualDouble = 42.0;
const double actualDouble2 = 42.42;
const int actualInt = 42;
const int intFortyTwo = 42;
const maybeDouble = z ? 42.0 : true;
const maybeDouble2 = z ? 42.42 : true;
const maybeInt = z ? 42 : true;
const nanEqual = 0 / 0 == 0 / 0;
const nanIdentical = identical(0 / 0, 0 / 0);
const string2Equal = "hello" == "world";
const string2Identical = identical("hello", "world");
const stringEqual = "hello" == "hello";
const stringIdentical = identical("hello", "hello");
const zeroEqualToZeroPointZero = 0 == 0.0;
const zeroIdenticalToZeroPointZero = identical(0, 0.0);
const zeroPointZeroEqual = 0.0 == 0.0;
const zeroPointZeroEqualToZero = 0.0 == 0;
const zeroPointZeroIdentical = identical(0.0, 0.0);
const zeroPointZeroIdenticalToZero = identical(0.0, 0);
