+1. In addition to it being hard to find keyword arguments for a function, there can be pretty bad consequences for passing in the wrong or misspelled keyword arguments in some cases. For example, when a function has a kwargs...
slurp and doesn’t use those the kwargs
, no errors will be thrown for misspelled keyword arguments. Example:
julia> badfun(;x=1, y=2, kwargs...) = x*y^2
badfun (generic function with 1 method)
julia> badfun(;y=5)
25
julia> badfun(;why=5)
4