Don't treat bool as integer for casting (#478)

Giving it a separate castSpecialType means casting to bool will use the default castFunction instead, raising an InvalidCastException.