anchor.diff:          {'type', anno(), 'range', [af_singleton_integer_type()]}.
   
   -type af_map_type() :: {'type', anno(), 'map', 'any'}
  -                     | {'type', anno(), 'map', [af_map_pair_type()]}.
  -
  --type af_map_pair_type() ::
  +                     | {'type', anno(), 'map', [af_assoc_type()]}.
  +
  +-type af_assoc_type() ::
           {'type', anno(), 'map_field_assoc', [abstract_type()]}
         | {'type', anno(), 'map_field_exact', [abstract_type()]}.
   
  
positive.code:                        | af_bin(af_guard_test())
                         | af_binary_op(af_guard_test())
                         | af_unary_op(af_guard_test())
                         | af_record_access(af_guard_test())
                         | af_record_index()
                         | af_record_field_access(af_guard_test())
                         | af_map_access(abstract_expr()) % FIXME
                         | af_map_update(abstract_expr()) % FIXME
                         | af_guard_call()
                         | af_remote_guard_call().
  
  -type af_record_field_access(T) ::
          {'record_field', anno(), T, record_name(), af_field_name()}.
  
  -type af_map_access(T) :: {'map', anno(), [af_map_field(T)]}.
  
  -type af_map_update(T) :: {'map', anno(), T, [af_map_field(T)]}.
  
  -type af_map_field(T) :: af_map_field_assoc(T) | af_map_field_exact(T).
  
  -type af_map_field_assoc(T) :: {'map_field_assoc', anno(), T, T}.
  
  -type af_map_field_exact(T) :: {'map_field_exact', anno(), T, T}.
  
  -type af_guard_call() :: {'call', anno(), function_name(), [af_guard_test()]}.
  
  
negative.code:                        | af_bin(abstract_expr())
                         | af_binary_op(abstract_expr())
                         | af_unary_op(abstract_expr())
                         | af_record_creation(abstract_expr())
                         | af_record_update(abstract_expr())
                         | af_record_index()
                         | af_record_field_access(abstract_expr())
                         | af_map_creation(abstract_expr())
                         | af_map_update(abstract_expr())
                         | af_catch()
                         | af_local_call()
  