# RefBigDecimal.make

Creates a new `RefBigDecimal` from a BigDecimal, `Effect`, or `Fx`.

## Signatures

```ts
export declare function make<E = never, R = never>(initial: BigDecimal.BigDecimal | Effect.Effect<BigDecimal.BigDecimal, E, R> | Fx.Fx<BigDecimal.BigDecimal, E, R>): Effect.Effect<RefBigDecimal<E>, never, R | Scope.Scope>;
```

## Why

Creates big decimal state with equality suited to that Effect data type, so unchanged values do
not produce redundant pushed updates.

## Ownership and lifetime

The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
and cleanup; source failures and services stay on reads and pushes.

## Examples

```ts
import { Effect, BigDecimal } from "effect"
import * as RefBigDecimal from "@typed/fx/RefBigDecimal"

const program = Effect.gen(function* () {
  const value = yield* RefBigDecimal.make(BigDecimal.fromStringUnsafe("123.45"))
  const current = yield* value
  console.log(current) // BigDecimal(123.45)
})
```
