new internal layout

diff --git a/tests/66-ref-simple-OK.asn1.-P b/tests/66-ref-simple-OK.asn1.-P
index 61c5e04..5112e53 100644
--- a/tests/66-ref-simple-OK.asn1.-P
+++ b/tests/66-ref-simple-OK.asn1.-P
@@ -21,7 +21,7 @@
 
 /*** <<< STAT-DEFS [T] >>> ***/
 
-static asn_TYPE_member_t asn_MBR_T[] = {
+static asn_TYPE_member_t asn_MBR_T_1[] = {
 	{ ATF_NOFLAGS, 0, 0,
 		.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
 		.tag_mode = 0,
@@ -30,10 +30,10 @@
 		.name = "named"
 		},
 };
-static ber_tlv_tag_t asn_DEF_T_tags[] = {
+static ber_tlv_tag_t asn_DEF_T_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
-static asn_SET_OF_specifics_t asn_DEF_T_specs = {
+static asn_SET_OF_specifics_t asn_SPC_T_1_specs = {
 	sizeof(struct T),
 	offsetof(struct T, _asn_ctx),
 	1,	/* XER encoding is XMLValueList */
@@ -49,15 +49,15 @@
 	SET_OF_decode_xer,
 	SET_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_T_tags,
-	sizeof(asn_DEF_T_tags)
-		/sizeof(asn_DEF_T_tags[0]), /* 1 */
-	asn_DEF_T_tags,	/* Same as above */
-	sizeof(asn_DEF_T_tags)
-		/sizeof(asn_DEF_T_tags[0]), /* 1 */
-	asn_MBR_T,
+	asn_DEF_T_1_tags,
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]), /* 1 */
+	asn_DEF_T_1_tags,	/* Same as above */
+	sizeof(asn_DEF_T_1_tags)
+		/sizeof(asn_DEF_T_1_tags[0]), /* 1 */
+	asn_MBR_T_1,
 	1,	/* Single element */
-	&asn_DEF_T_specs	/* Additional specs */
+	&asn_SPC_T_1_specs	/* Additional specs */
 };
 
 
@@ -104,7 +104,7 @@
  * so here we adjust the DEF accordingly.
  */
 static void
-SimpleType_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+SimpleType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_ENUMERATED.free_struct;
 	td->print_struct   = asn_DEF_ENUMERATED.print_struct;
 	td->ber_decoder    = asn_DEF_ENUMERATED.ber_decoder;
@@ -119,21 +119,21 @@
 void
 SimpleType_free(asn_TYPE_descriptor_t *td,
 		void *struct_ptr, int contents_only) {
-	SimpleType_inherit_TYPE_descriptor(td);
+	SimpleType_1_inherit_TYPE_descriptor(td);
 	td->free_struct(td, struct_ptr, contents_only);
 }
 
 int
 SimpleType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-	SimpleType_inherit_TYPE_descriptor(td);
+	SimpleType_1_inherit_TYPE_descriptor(td);
 	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 }
 
 asn_dec_rval_t
 SimpleType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, void *bufptr, size_t size, int tag_mode) {
-	SimpleType_inherit_TYPE_descriptor(td);
+	SimpleType_1_inherit_TYPE_descriptor(td);
 	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 }
 
@@ -141,14 +141,14 @@
 SimpleType_encode_der(asn_TYPE_descriptor_t *td,
 		void *structure, int tag_mode, ber_tlv_tag_t tag,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	SimpleType_inherit_TYPE_descriptor(td);
+	SimpleType_1_inherit_TYPE_descriptor(td);
 	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 }
 
 asn_dec_rval_t
 SimpleType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 		void **structure, const char *opt_mname, void *bufptr, size_t size) {
-	SimpleType_inherit_TYPE_descriptor(td);
+	SimpleType_1_inherit_TYPE_descriptor(td);
 	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 }
 
@@ -156,31 +156,31 @@
 SimpleType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 		int ilevel, enum xer_encoder_flags_e flags,
 		asn_app_consume_bytes_f *cb, void *app_key) {
-	SimpleType_inherit_TYPE_descriptor(td);
+	SimpleType_1_inherit_TYPE_descriptor(td);
 	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 }
 
 
 /*** <<< STAT-DEFS [SimpleType] >>> ***/
 
-static asn_INTEGER_enum_map_t asn_MAP_SimpleType_value2enum[] = {
+static asn_INTEGER_enum_map_t asn_MAP_SimpleType_1_value2enum[] = {
 	{ 0,	3,	"one" },
 	{ 1,	3,	"two" },
 	{ 2,	5,	"three" }
 };
-static unsigned int asn_MAP_SimpleType_enum2value[] = {
+static unsigned int asn_MAP_SimpleType_1_enum2value[] = {
 	0,	/* one(0) */
 	2,	/* three(2) */
 	1	/* two(1) */
 };
-static asn_INTEGER_specifics_t asn_DEF_SimpleType_specs = {
-	asn_MAP_SimpleType_value2enum,	/* "tag" => N; sorted by tag */
-	asn_MAP_SimpleType_enum2value,	/* N => "tag"; sorted by N */
+static asn_INTEGER_specifics_t asn_SPC_SimpleType_1_specs = {
+	asn_MAP_SimpleType_1_value2enum,	/* "tag" => N; sorted by tag */
+	asn_MAP_SimpleType_1_enum2value,	/* N => "tag"; sorted by N */
 	3,	/* Number of elements in the maps */
 	0,	/* Enumeration is not extensible */
 	1	/* Strict enumeration */
 };
-static ber_tlv_tag_t asn_DEF_SimpleType_tags[] = {
+static ber_tlv_tag_t asn_DEF_SimpleType_1_tags[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_SimpleType = {
@@ -194,13 +194,13 @@
 	SimpleType_decode_xer,
 	SimpleType_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
-	asn_DEF_SimpleType_tags,
-	sizeof(asn_DEF_SimpleType_tags)
-		/sizeof(asn_DEF_SimpleType_tags[0]), /* 1 */
-	asn_DEF_SimpleType_tags,	/* Same as above */
-	sizeof(asn_DEF_SimpleType_tags)
-		/sizeof(asn_DEF_SimpleType_tags[0]), /* 1 */
+	asn_DEF_SimpleType_1_tags,
+	sizeof(asn_DEF_SimpleType_1_tags)
+		/sizeof(asn_DEF_SimpleType_1_tags[0]), /* 1 */
+	asn_DEF_SimpleType_1_tags,	/* Same as above */
+	sizeof(asn_DEF_SimpleType_1_tags)
+		/sizeof(asn_DEF_SimpleType_1_tags[0]), /* 1 */
 	0, 0,	/* Defined elsewhere */
-	&asn_DEF_SimpleType_specs	/* Additional specs */
+	&asn_SPC_SimpleType_1_specs	/* Additional specs */
 };