I am not reinforcing your point, you have misunderstood what I said.
James Kyle

I think the problematic part is the example below:

equals(other) {
return this.#x === other.#x && this.#y === other.#y;

Here you implicitly assume that other has the same type as this. This is the place where the “early error” approach enters the “static typing” zone, and the lines get blurred.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.