# How to create Arbitrary instance for dependent types?

**URL:** <https://discourse.haskell.org/t/how-to-create-arbitrary-instance-for-dependent-types/6990>\
**Category:** Learn\
**Created:** [July 13, 2023, 9:19am UTC](https://discourse.haskell.org/t/how-to-create-arbitrary-instance-for-dependent-types/6990 "2023-07-13T09:19:42Z")\
**Posts on this page:** 1\
**Page:** 3

<div class="post-metadata">

**Author:** ![tomjaguarpaw](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tomjaguarpaw/32/1230_2.png) [@tomjaguarpaw](https://discourse.haskell.org/u/tomjaguarpaw)\
**Post date:** [July 19, 2023, 9:02am UTC](https://discourse.haskell.org/t/how-to-create-arbitrary-instance-for-dependent-types/6990/42 "2023-07-19T09:02:52Z")

</div>

> [@cdepillabout](#):
>
> You could always `unsafeCoerce` your way to an `SNat`, if you really needed to.

Yikes! I recommend strongly against that. You’d be losing all the benefits of type safety that you’re trying to gain, plus more!

[Previous page](https://discourse.haskell.org/t/how-to-create-arbitrary-instance-for-dependent-types/6990.md?page=2)
