anchor.diff:          , deftype/1
           , defprotocol/1
           , extend_type/1
  +        , dot/1
  +        , 'receive'/1
           , on_load/1
  +        , macroexpand/1
           ]).
   
   -spec all() -> [atom()].
  
positive.code: 
    {comments, ""}.
  
  -spec on_load(config()) -> result().
  on_load(_Config) ->
    ct:comment("erl-on-load*"),
  
negative.code: 
    {comments, ""}.
  
  -spec macroexpand(config()) -> result().
  macroexpand(_Config) ->
    ct:comment("dot syntax"),
  
    List1          = clj_reader:read(<<"(.foo bar 1)">>),
    ExpandedCheck1 = clj_reader:read(<<"(. bar foo 1)">>),
    Expanded1      = clj_analyzer:macroexpand_1(clj_env:default(), List1),
    true           = clj_core:equiv(Expanded1, ExpandedCheck1),
  
    List2          = clj_reader:read(<<"(Bar. :one \"two\")">>),
    ExpandedCheck2 = clj_reader:read(<<"(new Bar :one \"two\")">>),
    Expanded2      = clj_analyzer:macroexpand_1(clj_env:default(), List2),
    true           = clj_core:equiv(Expanded2, ExpandedCheck2),
  
    {comments, ""}.
  
  %%------------------------------------------------------------------------------
  %% Helper functions
  %%------------------------------------------------------------------------------
  