SDK: 8.1.1
I'm guessing that the runtime behaviour is by design, and the type checker is wrong. (Same behaviour at levels 1, 2, and 3).
import Toybox.Lang;
import Toybox.System;
class A {
public static function doSomething() as Void {
System...