I'm pretty sure the ball landed in
C3.
Albert is very sure that Bernard doesn’t know either. Bernard would know the location if it was in 5 or 6, indicating to all of us that Albert was told a row that isn’t A or B.
Now that Bernard can also deduce that it’s not A or B, he’s narrowed it down to one possibility. That means all of us now know it can’t be column 1 either, because if it were, he wouldn’t have gotten anything from that new fact.
Finally, now that column 1 is eliminated, Albert has deduced the location. Row D would’ve left two more possibilities, but row C leaves just one. Albert must know it is in row C.
For the rest, well, there isn’t even actually a question, I suspect you’d open a door and pick a box and hope that you’ve got a gold ball to pick, and it’s not clear that he’s following Monty Hall rules and always opening a bad door, but I think knowing which ball got thrown would make the rest of the odds fall into place.
Yeah, TypeScript has to integrate with JavaScript for practicality’s sake, which pierces a hole in its ability to do proper, rigorous type checking. It’s closer to machine-readable documentation that helpfully flags some errors than an actual type-checked language, which will make you get your types right instead of gently suggesting that there might be an issue the way TypeScript does.