anchor.diff:  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
  
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:        true -> t_limit_k(Termination, K - 1)
      end,
    NewElements = t_limit_k(Elements, K - 1),
    ?list(NewElements, NewTermination, Size);
  t_limit_k(?function(Domain, Range), K) ->
    %% The domain is either a product or any() so we do not decrease the K.
    ?function(t_limit_k(Domain, K), t_limit_k(Range, K-1));
  