Exploring the linked issues, led me to a (seemingly esoteric) thing that is being done with kwargs to help with type inference.
Instead of function f(...; kw::Bool=false)
people seem to be doing function f(...;kw::Val{T}=Val(false)) where T
.
I think I am seeing things like this in these OrdinaryDiffEq and Polyester changes:
Why is this necessary? Why is it better than saying the keyword will be of type Bool?
EDIT: discourse seems to be stripping out the anchors from the links above making it difficult to tell which lines I am talking about. Here are the SciML and Polyester links with anchors.