Standard Practices for Providing Layers in Effect Typescript Library

Is there a well-defined or followed standard way of providing layers? I've seen a few ways. I've seen things like:
export const PageBodyFetcherLive = Layer.effect(PageBodyFetcher, fetcher);

or providing the live dependencies as part of the live service
export const PageBodyFetcherLive = Layer.effect(PageBodyFetcher, fetcher).pipe(
  Layer.provide(FetchHttpClient.layer),
);

With the latter, can I replace the layer later?
Was this page helpful?