Hello, I would like to propose disabling the strictNullCheck and noImplicitAny options in TypeScript.
strictNullCheck compels us to always check for null/undefined when working with Map and even with Array predefined functions like .get, .pop(), .shift() etc. due to their nature to return T | undefined.noImplicitAny compels us to define all the types although it shouldn't since we're only solving problems not writing production code. Thus it should allow us to decide if we add all the typings or not and should be there only to provide more info when compared to the JavaScript ES6 environment where we lack all this information.For example, on my last problem that I've submitted I got the following errors which now I have to fix by adding an if statement for each of them although I'm sure they are not returning undefined:
Line 51: Char 13: error TS2532: Object is possibly 'undefined'.
Line 55: Char 9: error TS2532: Object is possibly 'undefined'.
Line 57: Char 9: error TS2322: Type 'T | undefined' is not assignable to type 'T'.
Line 59: Char 9: error TS2532: Object is possibly 'undefined'.
Line 59: Char 22: error TS2345: Argument of type 'T | undefined' is not assignable to parameter of type 'T'.
Line 60: Char 9: error TS2532: Object is possibly 'undefined'.
Line 60: Char 22: error TS2345: Argument of type 'T | undefined' is not assignable to parameter of type 'T'.
Line 69: Char 9: error TS2532: Object is possibly 'undefined'.
Line 71: Char 14: error TS2532: Object is possibly 'undefined'.
Line 81: Char 9: error TS2322: Type 'T | undefined' is not assignable to type 'T'.
Line 82: Char 9: error TS2532: Object is possibly 'undefined'.
Line 82: Char 22: error TS2345: Argument of type 'T | undefined' is not assignable to parameter of type 'T'.
Line 83: Char 9: error TS2532: Object is possibly 'undefined'.
Line 83: Char 22: error TS2345: Argument of type 'T | undefined' is not assignable to parameter of type 'T'.
Line 112: Char 16: error TS2532: Object is possibly 'undefined'.
Line 123: Char 9: error TS2532: Object is possibly 'undefined'.
Line 124: Char 9: error TS2532: Object is possibly 'undefined'.
Line 126: Char 9: error TS2532: Object is possibly 'undefined'.
Line 127: Char 9: error TS2532: Object is possibly 'undefined'.
Line 136: Char 25: error TS7006: Parameter 'a' implicitly has an 'any' type.
Line 136: Char 28: error TS7006: Parameter 'b' implicitly has an 'any' type.