anchor.diff:  	  "maybe_improper_list("++ContentString++","
   	    ++t_to_string(Termination, RecDict)++")";
   	false ->
  -	  "improper_list("++ContentString++","
  +	  "maybe_improper_list("++ContentString++","
   	    ++t_to_string(Termination, RecDict)++")"
         end
     end;
  
positive.code: 
  t_maybe_improper_list(_Content, ?unit) -> ?none;
  t_maybe_improper_list(?unit, _Termination) -> ?none;
  t_maybe_improper_list(Content, Termination) ->
    %% Safety check: would be nice to have but does not work with remote types
    %% true = t_is_subtype(t_nil(), Termination),
  
negative.code: t_subst_aux(?list(Contents, Termination, Size), Map) ->
    case t_subst_aux(Contents, Map) of
      ?none -> ?none;
      ?unit -> ?none;
      NewContents ->
        %% Be careful here to make the termination collapse if necessary.
        case t_subst_aux(Termination, Map) of
  