anchor.diff:  		  {call,ber,match_tags,[BytesVar,TagStr]},com,nl,
   		  {call,real_common,decode_real,[{curr,tmpbuf}]},nl,
   		  "end",nl]);
  -	_ ->
  -	    emit([TagStr,")"])
  +	{'BIT STRING',NNL} ->
  +	    gen_dec_bit_string(BytesVar, Constraint, NNL, TagStr);
  +	'NULL' ->
  +	    call(decode_null, [BytesVar,TagStr]);
  +	'OBJECT IDENTIFIER' ->
  +	    call(decode_object_identifier, [BytesVar,TagStr]);
  +	'RELATIVE-OID' ->
  +	    call(decode_relative_oid, [BytesVar,TagStr]);
  +	'OCTET STRING' ->
  +	    F = case asn1ct:use_legacy_types() of
  +		    false -> decode_octet_string;
  +		    true -> decode_restricted_string
  +		end,
  +	    case Constraint of
  +		[] ->
  +		    call(F, [BytesVar,TagStr]);
  +		_ ->
  +		    call(F, [BytesVar,{asis,Constraint},TagStr])
  +	    end;
  +	restricted_string ->
  +	    case Constraint of
  +		[] ->
  +		    call(decode_restricted_string,
  +			 [BytesVar,TagStr]);
  +		_ ->
  +		    call(decode_restricted_string,
  +			 [BytesVar,{asis,Constraint},TagStr])
  +	    end;
  +	'UniversalString' ->
  +	    call(decode_universal_string,
  +		 [BytesVar,{asis,Constraint},TagStr]);
  +	'UTF8String' ->
  +	    call(decode_UTF8_string, [BytesVar,TagStr]);
  +	'BMPString' ->
  +	    call(decode_BMP_string, [BytesVar,{asis,Constraint},TagStr]);
  +	'ASN1_OPEN_TYPE' ->
  +	    call(decode_open_type_as_binary, [BytesVar,TagStr])
       end.
   
   %% Simplify an integer constraint so that we can efficiently test it.
  
positive.code: 
  call(F, Args) ->
      asn1ct_func:call(ber, F, Args).
  
  need(F, Arity) ->
      asn1ct_func:need({ber,F,Arity}).
  
negative.code: 
  gen_dec_prim(Att, BytesVar, DoTag) ->
      Typename = Att#type.def,
      Constraint = get_size_constraint(Att#type.constraint),
      IntConstr = int_constr(Att#type.constraint),
      NewTypeName = case Typename of
  		      'NumericString'   -> restricted_string;
  		      'TeletexString'   -> restricted_string;
  