anchor.diff:          tgs:module(SluggedModName ++ "_tests"),
           nl,
           tgs:include_lib("erl_exercism/include/exercism.hrl"),
  -        tgs:include_lib("eunit/include/eunit.hrl"),
  -        nl,
  -        nl] ++ inter(nl, lists:flatten(Tests)),
  +        tgs:include_lib("eunit/include/eunit.hrl")],
  +
  +    Preamble=prepare_test_module(Module),
  +
  +    Body=inter(nl, lists:flatten(Tests)),
  +
  +    Content=Abstract ++ [nl, nl] ++ Preamble ++ [nl, nl] ++ Body,
   
       {SluggedModName ++ "_tests", lists:flatten(
           lists:map(
               fun (nl) -> io_lib:format("~n", []);
                   (Tree) -> io_lib:format("~s~n", [erl_prettypr:format(Tree)])
  -            end, Abstract))}.
  +            end, Content))}.
   
   inter(_, []) -> [];
   inter(_, [X]) -> [X];
  
positive.code:                 end
              end, {1, [], []}, Cases2),
              TestImpls1 = lists:reverse(TestImpls0),
              {TestModuleName, TestModuleContent} = generate_test_module(binary_to_list(GName), TestImpls1, binary_to_list(TestVersion)),
              {StubModuleName, StubModuleContent} = generate_stub_module(binary_to_list(GName), Props),
  
              [#{exercise => GName, name => TestModuleName, folder => "test", content => io_lib:format("~s", [TestModuleContent])},
               #{exercise => GName, name => StubModuleName, folder => "src",  content => io_lib:format("~s", [StubModuleContent])}];
  
negative.code:         false -> Tests
      end.
  
  generate_test_module(Module, ModuleName, Tests, TestVersion) ->
      SluggedModName = slugify(ModuleName),
  
      Abstract = [
  