Understanding HttpClient Dependency Injection in Effect Typescript

I know this is better suited for platform channel, but it is also a bit beginner question so....
Why if I do this inside a service:
const httpClient = yield* HttpClient.HttpClient;

const uploadToUrl = (url: string, file: File) => {
  return httpClient.put(url, { body: HttpBody.fileWeb(file) });
};

All I need to provide in dependencies is:
    dependencies: [FetchHttpClient.layer],

But if I try to access the put directly then the layer complains that it misses an HttpClient? Why is not the FetchHttpClient.layer not enough for this? Do I need to define a custom client then?
  const uploadToUrl = (url: string, file: File) => {
    return HttpClient.put(url, { body: HttpBody.fileWeb(file) });
  };
Was this page helpful?