The objective of this PR is to rewrite MLIL into two separated forms: SSA and NonSSA, avoiding the unreachable!() macro while matching MLIL instructions.
unreachable!()
NOTE the crate strum is added as a dependency.