Addressing Common Mistakes in Effect Wrapping with Linting Rules or TS Plugins

I know there are some discussions around adding either linting rules or TS plugins for common effect mistakes. It happens to me so often that I wrap things incorrectly and I don't get any error... For example, this code looks fine:
export const refreshData = Effect.gen(function* (_) {
  const checksum = yield* generateChecksum({ url: DATA_URL });
  yield* createImportTask({ url: DATA_URL, checksum });
  const data = yield* loadFromUrl({ url: DATA_URL });
  yield* flagImportAsSucceeded(checksum, data);
  return checksum;
});

Nothing weird to see, no type error of course, so what is the problem? well createImportTask is wrapping a promise with Effect.try rather than Effect.tryPromise so it is working by pure coincidence. Is not possible to make try more strict and not allow to provide promises? Or get a warn when a yield leads to an unawaited promise?
Was this page helpful?