I have my own tuple type defined as:
typedef MGRS as [String, String, Number, Number];
However, I am encountering a lot of pain trying to use it elsewhere in my code because the type checker does not seem to recognize it properly.
When using it as a return type, I get the error:
Object of type '$.NavUtils.Mgrs' does not match return type '$.NavUtils.Mgrs'.
When indexing my tuple, I get the warning:
Cannot determine if container access is using container type.
When using it to define a callback type, I get the error:
Cannot assign value '$.Toybox.Lang.Method(mgrs as $.NavUtils.Mgrs) as Void' to member ':_callback'.
Where _callback is typed exactly as Method(mgrs as $.NavUtils.Mgrs) as Void
The only workaround seems to be to disable the type checker.