Out of curiosity, I tried to run these commands. For p(1,2) I get 0.7 instead of 0.9 once q(a,b;c=2) has been defined.
julia> q(a,b) = 0.1
q (generic function with 2 methods)
julia> q(b) = 0.2
q (generic function with 2 methods)
julia> q(a,b;c=2) = 0.3
q (generic function with 2 methods)
julia> p(args...) = 1.0 - q(args...)
p (generic function with 1 method)
julia> p(1,2) # 0.9
0.7
julia> p(1) # 0.8
0.8
julia> p(1,2)
0.7