Move case alternative out into its own type. Remove canonicalize code.