# \[ANN\] Supposition.jl

**URL:** <https://discourse.julialang.org/t/ann-supposition-jl/111338>\
**Category:** Package Announcements\
**Tags:** package, announcement, testing, fuzzing, property-based\
**Created:** [March 8, 2024, 7:56am UTC](https://discourse.julialang.org/t/ann-supposition-jl/111338 "2024-03-08T07:56:18Z")\
**Posts on this page:** 1\
**Page:** 2

<div class="post-metadata">

**Author:** ![nsajko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nsajko/32/221187_2.png) [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Post date:** [May 14, 2024, 9:37am UTC](https://discourse.julialang.org/t/ann-supposition-jl/111338/21 "2024-05-14T09:37:23Z")

</div>

> [@younes](#):
>
> The example of the Rust borrow checker is really good from a cultural perspective. It teaches developers (like myself) that there are (some) strict rules to follow; I think of those like the _unforgiving_ laws of physics in fields like mechanical engineering or aerospace. It’s like signing a contract with the compiler to adhere to these rules. If you want to break them, you must explicitly take responsibility by using the “unsafe” keyword.

I call this the “put me in a straitjacket” approach.

[Previous page](https://discourse.julialang.org/t/ann-supposition-jl/111338.md?page=1)
