defupdateByIdOrExternalId[P <: WithExternalIdGeneric[OptionalField] with WithId[Option[Long]], U <: WithSetExternalId, T <: UpdateById[R, U, IO] with UpdateByExternalId[R, U, IO], R <: ToUpdate[U] with WithId[Long]](updates: Seq[P], resource: T, isUpdateEmpty: (U) ⇒ Boolean)(implicit transform: Transformer[P, U]): IO[Unit]