
0. ASN.1 grammar parser is written mostly with respect to constructing a tree,
so a tree destruction is not fully supported and certain memory leaks are
known. Not a huge problem for run-once programs like a compiler.
NOTE:	This statement does not apply to the target code _produced_
	by the compiler.

1. For purposes of compilation, INTEGER type is modelled using a large
static type (asn_integer_t), but defined as any positive or negative value
by ASN.1. Not a problem as most specifications use very small values anyway.
NOTE:	This statement does not apply to the target code _produced_
	by the compiler.

2. A MACRO facility is part of obsolete ASN.1 standard, and is not supported.

3. Multiple tags applied at the same level are not supported:
	BadTags ::= [0] EXPLICIT [2] IMPLICIT OtherType
   The same thing could be achieved by using the indirection:
	GoodTags     ::= [0] EXPLICIT OtherTypePtr
	OtherTypePtr ::= [2] IMPLICIT OtherType

4. Mixed definite/indefinite length in a _single_ BER tags sequence is not
supported. Should not be a problem in the real world. Please note that it
is still possible, for example, to encode a wrapper structure using definite
length, and encode its substructure member using indefinite length. The BER
decoder is perfectly capable of decoding such sequences.

5. Encoding or decoding of structures with combined length greater than 16MB
is not tested.

6. XER codec does not support integer (INTEGER, ENUMERATED) values
outside the signed long range.
