anchor.diff:    cerl:ann_c_clause([compiler_generated | Ann], [VarAst], FailAst).
   
   -spec clause({clj_analyzer:expr(), clj_analyzer:expr()}, state()) ->
  -  cerl:cerl().
  +  ast().
   clause({PatternExpr, BodyExpr}, StateAcc) ->
     #{ env   := EnvPattern
      , guard := GuardExpr
  
positive.code:   lists:foldl(FunctionFun, State, maps:values(GroupedMethods)).
  
  -spec body_from_clauses([term()], [cerl:c_clause()]) ->
    {[cerl:c_var()], cerl:cerl()}.
  body_from_clauses(Ann, [ClauseAst]) ->
    case cerl:clause_guard(ClauseAst) =:= cerl:c_atom(true) of
      true  ->
  
negative.code: %% ----- Map -------
  
  %% cerl:c_map_pair_exact/2 doesn't exist in 18.3
  -spec c_map_pair_exact(ast(), ast()) -> cerl:c_map_pair().
  c_map_pair_exact(K, V) ->
    Exact = cerl:c_atom(exact),
    cerl:ann_c_map_pair([], Exact, K, V).
  