To elaborate on why true is a good choice here, consider the following trivial function, if we define it using false, we see that false is adaptive in the sense that multiplying with false will make the result have the same type as the input, irrespective of what the type is:
julia> multiply_by_zero(x) = false*x
multiply_by_zero (generic function with 1 method)
julia> multiply_by_zero(true)
false
julia> multiply_by_zero(1)
0
julia> multiply_by_zero(1f0)
0.0f0
julia> multiply_by_zero(1.0)
0.0
julia> multiply_by_zero(big"1.0")
0.0
Had we defined the function using a floating-point value, we see that the type of the result is different from the type of the input whenever the input type is smaller than Float64
julia> multiply_by_zero(x) = 0.0*x
multiply_by_zero (generic function with 1 method)
julia> multiply_by_zero(true)
0.0
julia> multiply_by_zero(1)
0.0
julia> multiply_by_zero(1f0)
0.0
julia> multiply_by_zero(1.0)
0.0
julia> multiply_by_zero(big"1.0")
0.0
julia>