X to returning Effect<X, FailureType. Now I'm struggling with dealing with failures:runSyncExit returns this exit object, but (1) I can't find a nice imperative api to use instead of result._tag === "Failure" and (2) i can't figure out why result.cause consistently seems to be a plain-old-javascript-object, not an instance of the error class i created with Data.TaggedError