# Type.Unsafe

The Unsafe type is used to create user defined schematics with user defined inference rules. The type is named so because it is possible to create schematics that are mismatched to the inferred type. The Unsafe type offers an escape hatch for scenarios when you need schematics not generated by TypeBox.

## Example

The following creates an Unsafe number schema that infers as string.

    const T = Type.Unsafe<string>({ type: 'number' })   // const T = { type: 'number' }

    type T = Static<typeof T>                           // type T = string