new TaggedError looks like internally, and yield* new SomeTaggedError() will automatically wrap it within an Effect.fail(...) constructor and sequence it with the preceding effects.new SomeTaggedError() directly? It's confusing because i can type it as either a TaggedError class or an Effect. Effect.fail that short-circuits?