
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. ASN Macros are prohibited by the current ASN.1 standard,
and are 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.

