message: trace promise constructors
diff: +import { traceAs } from "@effect-ts/tracing-utils"
  +
  import type { Lazy } from "../Function"
  import { flow } from "../Function"
  import { succeed } from "./core"
  @@ -14,9 +16,11 @@ export function fromPromiseWith_<E, A>(
  promise: Lazy<Promise<A>>,
  onReject: (reason: unknown) => E
  ): IO<E, A> {
  - return effectAsync((resolve) => {
  + return effectAsync(
  + traceAs(promise, (resolve) => {
  promise().then(flow(succeed, resolve)).catch(flow(onReject, fail, resolve))
  })
  + )
  }
  /**
  @@ -32,16 +36,20 @@ export function fromPromiseWith<E>(onReject: (reason: unknown) => E) {
  * errors will produce failure as `unknown`
  */
  export function fromPromise<A>(effect: Lazy<Promise<A>>): IO<unknown, A> {
  - return effectAsync((resolve) => {
  + return effectAsync(
  + traceAs(effect, (resolve) => {
  effect().then(flow(succeed, resolve)).catch(flow(fail, resolve))
  })
  + )
  }
  /**
  * Like fromPromise but produces a defect in case of errors
  */
  export function fromPromiseDie<A>(effect: Lazy<Promise<A>>): UIO<A> {
  - return effectAsync((resolve) => {
  + return effectAsync(
  + traceAs(effect, (resolve) => {
  effect().then(flow(succeed, resolve)).catch(flow(die, resolve))
  })
  + )
  }
  