Reusing Dependencies Between Multiple Runtimes in Effect Typescript
Working again on reusing dependencies between multiple runtimes, i concluded that the easiest way to go forward would be to provide dependencies through layers lower in the tree and through effects (returned by layers), higher in the tree.
Now, there are two problems. The first is: how can i use an Effect as a service type of a tag, where the requirements are allowed to be anything (in this case Foo is a requirement of Foobar, which we want to infer automatically through usage).
The second is: If we consider the Foo tag to be from a different module, isn't it preferable to avoid coupling here and what are the options here? Maybe something closer to having an interface which the service type of the provided implementation covers, instead of relying on Tags as identifiers?
Now, there are two problems. The first is: how can i use an Effect as a service type of a tag, where the requirements are allowed to be anything (in this case Foo is a requirement of Foobar, which we want to infer automatically through usage).
The second is: If we consider the Foo tag to be from a different module, isn't it preferable to avoid coupling here and what are the options here? Maybe something closer to having an interface which the service type of the provided implementation covers, instead of relying on Tags as identifiers?
