constness fixes, round-trip and fuzz-testing for CHOICE
diff --git a/tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types
index ae5fa99..c51e633 100644
--- a/tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types
+++ b/tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types
@@ -53,7 +53,7 @@
 		.type = &asn_DEF_Test_structure_1,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = ""
 		},
 };
@@ -89,7 +89,7 @@
 		.type = &asn_DEF_Test_structure_1,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = ""
 		},
 };
@@ -125,7 +125,7 @@
 		.type = &asn_DEF_t_member1_2,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "t-member1"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member2),
@@ -134,7 +134,7 @@
 		.type = &asn_DEF_t_member2_4,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "t-member2"
 		},
 	{ ATF_POINTER, 1, offsetof(struct Test_structure_1, t_member3),
@@ -143,7 +143,7 @@
 		.type = &asn_DEF_Test_structure_1,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "t-member3"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member4),
@@ -152,7 +152,7 @@
 		.type = &asn_DEF_INTEGER,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "t-member4"
 		},
 };
@@ -251,7 +251,7 @@
 		.type = &asn_DEF_Choice_1,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = ""
 		},
 };
@@ -288,7 +288,7 @@
 		.type = &asn_DEF_Choice_1,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "and"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.Or),
@@ -297,7 +297,7 @@
 		.type = &asn_DEF_or_3,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "or"
 		},
 	{ ATF_POINTER, 0, offsetof(struct Choice_1, choice.Not),
@@ -306,7 +306,7 @@
 		.type = &asn_DEF_Choice_1,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "not"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.other),
@@ -315,7 +315,7 @@
 		.type = &asn_DEF_INTEGER,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "other"
 		},
 };
@@ -332,7 +332,7 @@
 	sizeof(((struct Choice_1 *)0)->present),
 	.tag2el = asn_MAP_Choice_1_tag2el_1,
 	.tag2el_count = 4,	/* Count of tags in the map */
-	.canonical_order = 0,
+	0, 0,
 	.ext_start = -1	/* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_Choice_1 = {
@@ -400,7 +400,7 @@
 		.type = &asn_DEF_Test_structure_3,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "m1"
 		},
 };
@@ -491,7 +491,7 @@
 		.type = &asn_DEF_Test_structure_2,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "m1"
 		},
 };