Conditional functions within functions

But only one method/function is compiled in my example above (see the “generic function with 1 method” output after the second line), even though the kwarg has a different type. This implies that the type of the kwarg is ignored when determining the set of input types, right?

julia> foo(2; d=3.3)
ERROR: TypeError: #foo: in typeassert, expected Int64, got Float64