anchor.diff:    | Ensures (e, wtf) ->
         assert (wtf = None);
         group (str "ensures" ^/^ p_typ ps pb e)
  +  | WFOrder (rel, e) ->
  +    p_dec_wf ps pb rel e
     | LexList l ->
         group (str "%" ^^ p_term_list ps pb l)
     | Decreases (e, wtf) ->
  
positive.code:   | CalcProof _ (* p_noSeqTerm *)
      -> soft_parens_with_nesting (p_term false false e)
    | LexList l -> group (str "%" ^^ p_term_list false false l)
  
  and p_constant = function
    | Const_effect -> str "Effect"
  
negative.code:                     ^^ separate_map_last hardline p_calcStep steps)
    | _ -> p_typ ps pb e
  
  and p_dec_wf ps pb rel e =
    group (str "{:well-founded " ^^ p_typ ps pb rel ^/^ p_typ ps pb e ^^ str " }")
  
  
  and p_calcStep _ (CalcStep (rel, just, next)) =
    group (p_noSeqTermAndComment false false rel ^^ space ^^ lbrace ^^ space ^^ p_noSeqTermAndComment false false just ^^ space ^^ rbrace ^^ hardline
           ^^ p_noSeqTermAndComment false false next ^^ str ";")
  