Added flag to debug wrong codegens that reaches the unreachables
Fix dispatch when an argument is a union containing a hierarchy type