Fantastic progress in master branch!

Thanks a lot! That begins to make sense. I assume it only applies to hard coded constants, not to user inputs?

So if someone does

function foo(a::AbstractArray{Bool})
  a[1] ? 1 : 2
end

and then calls foo([true, false]), will constant propagation allow to elide the ? check altogether?