# Function: func()

> > **func**\<`TArgs`, `TOut`\>(`arb`): [`Arbitrary`](../classes/Arbitrary.md)\<(...`args`) => `TOut`\>

# Function: func()

> **func**\<`TArgs`, `TOut`\>(`arb`): [`Arbitrary`](../classes/Arbitrary.md)\<(...`args`) => `TOut`\>

Defined in: [packages/fast-check/src/arbitrary/func.ts:23](https://github.com/dubzzz/fast-check/blob/4663db899d411b24434189b8e560b5ecefc93f23/packages/fast-check/src/arbitrary/func.ts#L23)

For pure functions

## Type Parameters

| Type Parameter |
| ------ |
| `TArgs` *extends* `any`[] |
| `TOut` |

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `arb` | [`Arbitrary`](../classes/Arbitrary.md)\<`TOut`\> | Arbitrary responsible to produce the values |

## Returns

[`Arbitrary`](../classes/Arbitrary.md)\<(...`args`) => `TOut`\>

## Remarks

Since 1.6.0
