anchor.diff:  pat_burst(Ll, Mutator, Meta) ->
       mutate_once(Ll, Mutator, [{pattern, burst}|Meta], fun pat_burst_cont/3).
   
  -
   -spec pat_skip(any(), mutator(), meta_list()) -> list().
   pat_skip(Ll, Mutator, Meta) ->
  -    mutate_once_skipper(Ll, Mutator, [{pattern, skipper}|Meta], fun pat_many_dec_cont/3).
  +    {_, ContPatF, _, _} = erlamsa_rnd:rand_elem(patterns()),
  +    mutate_once_skipper(Ll, Mutator, [{pattern, skipper}|Meta], ContPatF).
  +
  +-spec pat_sizer(any(), mutator(), meta_list()) -> list().
  +pat_sizer(Ll, Mutator, Meta) ->
  +    %%we're avoiding skipper or format predictor pattern?
  +    ContPatF = erlamsa_rnd:rand_elem(simple_patterns()),
  +    mutate_once_sizer(Ll, Mutator, [{pattern, sizer}|Meta], ContPatF).
   
   %% /Patterns
  +
  +-spec simple_patterns() -> [fun()].
  +simple_patterns() -> [fun pat_once_dec/3, fun pat_many_dec/3, fun pat_burst/3].
   
   -spec patterns() -> [pattern()].
   patterns() -> [{1, fun pat_once_dec/3, od, "Mutate once pattern"},
                  {2, fun pat_many_dec/3, nd, "Mutate possibly many times"},
                  {1, fun pat_burst/3, bu, "Make several mutations closeby once"},
  -               {3, fun pat_skip/3, sk, "Skil random block and mutate possibly many times"}
  +               {1, fun pat_skip/3, sk, "Skip random block and mutate possibly many times"},
  +               {1, fun pat_sizer/3, sz, "Try to find sizer and mutate enclosed data"}
  +               %TODO: {0, fun nomutation/2, nu, "Pattern that calls no mutations"
                   ].
   
   -spec default() -> [{atom(), non_neg_integer()}].
  
positive.code:     SkipperMeta = [{skipped, Len/8} | Meta],
      Res =   if
                  This /= false ->
                      mutate_once_loop(Mutator, SkipperMeta, Cont, Ip, This, LlN);
                  true ->
                      Cont([], Mutator, SkipperMeta)
              end,
      [<<HeadBin:Len>>| Res].
  
  
negative.code:         patterns()),
      mux_patterns(Pats).
  
  -spec choose_pattern_fun({[pattern()], integer()}) -> fun().
  choose_pattern_fun({SortedPatterns, N}) -> 
      RIdxPs = erlamsa_rnd:rand(N),
      erlamsa_utils:choose_pri(SortedPatterns, RIdxPs).
  
  %% [{Pri, Pat}, ...] -> fun(rs, ll, muta, meta) .. pattern_output .. end
  -spec mux_patterns([pattern()]) -> fun((any(), mutator(), meta_list()) -> list()).
  mux_patterns(Patterns) ->
      SortedPatterns = erlamsa_utils:sort_by_priority(Patterns),
      fun(Ll, Muta, Meta) ->
          PatF = choose_pattern_fun(SortedPatterns),
          PatF(Ll, Muta, Meta)
      end.