# \[ANN\] EnforcedTypeSignatureCallables.jl

**URL:** <https://discourse.julialang.org/t/ann-enforcedtypesignaturecallables-jl/117280>\
**Category:** Package Announcements\
**Tags:** package, announcement, function, type-stability, functors\
**Created:** [July 20, 2024, 6:16pm UTC](https://discourse.julialang.org/t/ann-enforcedtypesignaturecallables-jl/117280 "2024-07-20T18:16:57Z")\
**Posts on this page:** 1\
**Showing post:** 11

<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:** [September 5, 2025, 12:59pm UTC](https://discourse.julialang.org/t/ann-enforcedtypesignaturecallables-jl/117280/11 "2025-09-05T12:59:06Z")

</div>

Breaking release v3 is now registered and available for installation. The code is now completely rewritten. The design is simplified and leverages functionality already provided with Julia as much as possible: `typeassert`, function composition (`∘`) and `Base.Fix2`. This means that the package now provides a way to create functions that are guaranteed to return a value of the given type, if they return **and** it is possible to dispatch on such functions even without depending on EnforcedTypeSignatureCallables.jl. Basically I’m proposing a standard the ecosystem can converge on for specifying generic functions with type signatures.

The repo is now also moved to the Github JuliaFunctional org:

- [GitHub - JuliaFunctional/EnforcedTypeSignatureCallables.jl: Julia package providing functionality for annotating arbitrary callables with type signature data.](https://github.com/JuliaFunctional/EnforcedTypeSignatureCallables.jl)

---

_[View the full topic](https://discourse.julialang.org/t/ann-enforcedtypesignaturecallables-jl/117280)._
