Yes, that's good.

I was going to comment that you hope a compile error will show up if you use the vars, but if you just toString then no hope.

I was thinking someone must have written a paper about the sitch: given a loss of type safety at point A, what operations are required to ensure you detect it by point B, and could the compile warn about that?