anchor.diff:      {ResErlDate, S1, C1} = controller_call(last_modified, State, Context),
       decision_test(ResErlDate =:= undefined orelse ResErlDate > ReqErlDate,
                     true, v3m16, 304, S1, C1);
  +
   %% "POST?"
   decision(v3m5, State, Context) ->
       decision_test(cowmachine_req:method(Context), <<"POST">>, v3n5, 410, State, Context);
  +
   %% "Server allows POST to missing resource?"
   decision(v3m7, State, Context) ->
       decision_test(controller_call(allow_missing_post, State, Context), true, v3n11, 404);
  +
   %% "DELETE?"
   decision(v3m16, State, Context) ->
       decision_test(cowmachine_req:method(Context), <<"DELETE">>, v3m20, v3n16, State, Context);
  +
   %% DELETE enacted immediately?
   %% Also where DELETE is forced.
   decision(v3m20, State, Context) ->
       decision_test(controller_call(delete_resource, State, Context), true, v3m20b, 500);
   decision(v3m20b, State, Context) ->
       decision_test(controller_call(delete_completed, State, Context), true, v3o20, 202);
  +
   %% "Server allows POST to missing resource?"
   decision(v3n5, State, Context) ->
       decision_test(controller_call(allow_missing_post, State, Context), true, v3n11, 410);
  +
   %% "Redirect?"
   decision(v3n11, State, Context) ->
       {PostIsCreate, S1, C1} = controller_call(post_is_create, State, Context),
  
positive.code:             CTCtx = cowmachine_req:set_resp_content_type(MType, C1),
              d(v3d4, S1, CTCtx)
      end;
  %% Accept-Language exists?
  decision(v3d4, State, Context) ->
      decision_test(cowmachine_req:get_req_header(<<"accept-language">>, Context), undefined, v3e5, v3d5, State, Context);
  %% Acceptable Language available? %% WMACH-46 (do this as proper conneg)
  decision(v3d5, State, Context) ->
      decision_test(controller_call(language_available, State, Context), true, v3e5, 406);
  %% Accept-Charset exists?
  decision(v3e5, State, Context) ->
      case cowmachine_req:get_req_header(<<"accept-charset">>, Context) of
          undefined -> decision_test(choose_charset(<<"*">>, State, Context), none, 406, v3f6);
          _ -> d(v3e6, State, Context)
      end;
  %% Acceptable Charset available?
  decision(v3e6, State, Context) ->
      decision_test(
          choose_charset(cowmachine_req:get_req_header(<<"accept-charset">>, Context), State, Context), 
          none, 406, v3f6);
  %% Accept-Encoding exists?
  % (also, set content-type header here, now that charset is chosen)
  decision(v3f6, State, Context) ->
  
negative.code:     {halt, Code} ->
          respond(Code, S1, C1)
      end;
  
  %% "POST?"
  decision(v3l7, State, Context) ->
      decision_test(cowmachine_req:method(Context), <<"POST">>, v3m7, 404, State, Context);
  
  %% "IMS exists?"
  decision(v3l13, State, Context) ->
      decision_test(cowmachine_req:get_req_header(<<"if-modified-since">>, Context), undefined, v3m16, v3l14, State, Context);
  
  %% "IMS is valid date?"
  decision(v3l14, State, Context) -> 
      IMSDate = cowmachine_req:get_req_header(<<"if-modified-since">>, Context),
      decision_test(cowmachine_util:convert_request_date(IMSDate), bad_date, v3m16, v3l15, State, Context);
  
  %% "IMS > Now?"
  decision(v3l15, State, Context) ->
      NowDateTime = calendar:universal_time(),
      ReqDate = cowmachine_req:get_req_header(<<"if-modified-since">>, Context),
      ReqErlDate = cowmachine_util:convert_request_date(ReqDate),
      decision_test(ReqErlDate > NowDateTime, true, v3m16, v3l17, State, Context);
  
  %% "Last-Modified > IMS?"
  decision(v3l17, State, Context) ->
      ReqDate = cowmachine_req:get_req_header(<<"if-modified-since">>, Context),    
  