anchor.diff:  
   
   t_list_comprehension(Config) when is_list(Config) ->
  -    [#{k=>1},#{k=>2},#{k=>3}] = [#{k=>I} || I <- [1,2,3]],
  +    [#{k:=1},#{k:=2},#{k:=3}] = [#{k:=I} || I <- [1,2,3]],
       ok.
   
   t_guard_fun(Config) when is_list(Config) ->
       F1 = fun
  -	    (#{s=>v,v=>V})     -> {v,V};
  -	    (#{s=>t,v=>{V,V}}) -> {t,V};
  -	    (#{s=>l,v=>[V,V]}) -> {l,V}
  +	    (#{s:=v,v:=V})     -> {v,V};
  +	    (#{s:=t,v:={V,V}}) -> {t,V};
  +	    (#{s:=l,v:=[V,V]}) -> {l,V}
       end,
       
       F2 = fun
  -	    (#{s=>T,v=>{V,V}}) -> {T,V};
  -	    (#{s=>T,v=>[V,V]}) -> {T,V};
  -	    (#{s=>T,v=>V})     -> {T,V}
  +	    (#{s:=T,v:={V,V}}) -> {T,V};
  +	    (#{s:=T,v:=[V,V]}) -> {T,V};
  +	    (#{s:=T,v:=V})     -> {T,V}
       end,
       V = <<"hi">>,
   
  
positive.code:     {l,V} = F2(#{s=>l,v=>[V,V]}),
  
      %% error case
      {'EXIT', {function_clause,[{?MODULE,_,[#{s=>none,v=>none}],_}|_]}} = (catch F1(#{s=>none,v=>none})),
      ok.
  
  
  
negative.code:     M0 = #{ "hi" => "hello", int => 3, <<"key">> => <<"value">>,
  	4 => number, 18446744073709551629 => wat},
  
      M1 = #{ "hi" := "hello"} = map:put("hi", "hello", #{}),
  
      ["hi"]    = map:keys(M1),
      ["hello"] = map:values(M1),
  
      M2 = #{ int := 3 } = map:put(int, 3, M1),
  
      [int,"hi"]  = map:keys(M2),
      [3,"hello"] = map:values(M2),
  
      M3 = #{ <<"key">> := <<"value">> } = map:put(<<"key">>, <<"value">>, M2),
  
      [int,"hi",<<"key">>]    = map:keys(M3),
      [3,"hello",<<"value">>] = map:values(M3),
  
      M4 = #{ 18446744073709551629 := wat } = map:put(18446744073709551629, wat, M3),
  
      [18446744073709551629,int,"hi",<<"key">>] = map:keys(M4),
      [wat,3,"hello",<<"value">>]               = map:values(M4),
  
      M0 = #{ 4 := number } = M5 = map:put(4, number, M4),
  
      [4,18446744073709551629,int,"hi",<<"key">>] = map:keys(M5),
      [number,wat,3,"hello",<<"value">>]          = map:values(M5),
  