Ah. I think there's some misunderstanding here:
All @usableFromInline functions are, by definition, implementation details. The purpose of that annotation is to allow internal implementation details to be called from inlinable functions.
For generic implementations of numeric functions like random(in:using) the inlinability is absolutely performance critical and cannot be removed. It is what allows callers to specialize the code into a function that operates on the concrete type. Further, any refactoring of that type needs to preserve that specialization capability. So if your helper function is concrete (such as wrapper of a call to the system's random number generator) it might be ok for it to not itself be inlinable. But if that helper function is generic, it will likely also need to be inlinable, and thus specializable.