Our trick to using data declarations is to import the base module into scope. However, if said declarations are not exported, we're out of luck: they won't be in scope in the module we're checking either. So we might have to adopt the "FakeMain" approach to every module we check and remove all exports... though this might mean that they will clash!
Our trick to using data declarations is to import the base module into scope. However, if said declarations are not exported, we're out of luck: they won't be in scope in the module we're checking either. So we might have to adopt the "FakeMain" approach to every module we check and remove all exports... though this might mean that they will clash!