How to allow users to safely change package "constants"?

Or you can just use a unified Options structure, like

@kwdef struct Options{T}
    soundspeed::T = 344.0
    lightspeed::T = 3e5
end

function f(x; options=Options())
    ...
end

and then the user can do:

f(x; options=Options(soundspeed=500.0))

to change some value.