This works
function f(;
field ::NTuple{Nfield,Symbol},
fieldscale ::NTuple= (),#NTuple{Nfield ,Float64}(1. for i =1: Nfield),
afield ::NTuple{Nafield,Symbol}=NTuple{0,Symbol}(),
afieldscale ::NTuple= ()) where{Nfield,Nafield} #NTuple{Nafield,Float64}(1. for i =1:Nafield) ) where{Nfield,Nafield}
@show Nfield,Nafield
end
f(field=(:a,))