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: