I think Python-style implicit kw-args are a mistake. It means that caller can depend on the name of your function parameters and you can't change them without breaking existing code, which may not be yours. Explicit kw-args, where the names of params are explicitly advertised as part of the interface of the function, are a fine idea OTOH, and should be in every language.