anchor.diff:  -spec basic_check(config()) -> ok.
   basic_check(_Config) ->
     ok = sheldon:check("Hi, I am testing the spelling checker"),
  -  #{misspelled_words := [#{word := "wrongspelled"}]} =
  +  #{ misspelled_words := [#{ word := "wrongspelled" }] } =
       sheldon:check("I am testing a wrongspelled word"),
     ok = sheldon:check("Hi, I am (testing the spelling) checker"),
     ok = sheldon:check("Hi, I am \"testing the\" spelling checker"),
     ok = sheldon:check("Hi, I am \'testing\' the spelling checker"),
     ok = sheldon:check("Hi, I am \'testing\' the.,; spelling checker"),
  -  #{misspelled_words := [#{word := "thedfs"}]} =
  +  #{ misspelled_words := [#{ word := "thedfs" }] } =
       sheldon:check("Hi, I am \'testing\' thedfs.,; spelling checker"),
     ok = sheldon:check(""),
     ok = sheldon:check("I am checking numbers too 12, 34, 111, yeah!"),
     ok = sheldon:check("I am checking numbers too [12, 34], {111}, yeah!"),
     ok = sheldon:check("                                hello"),
  -  #{ misspelled_words := [#{word := "Sheldon"}]} =
  +  #{ misspelled_words := [#{ word := "Sheldon" }] } =
       sheldon:check("Sheldon doesn't know his name, too bad"),
     ok = sheldon:check("I am checking numbers too [12, 34], {111}, yeah!", #{}),
     ok.
   
   -spec iodata_check(config()) -> ok.
   iodata_check(_Config) ->
  -  #{misspelled_words := [#{word := "iodata"}]} =
  +  #{misspelled_words := [#{ word := "iodata" }]} =
       sheldon:check(["I am",  [<<" testing with">>, " "] , <<"iodata">>]),
     ok = sheldon:check(["Hi, I am (testing the spelling) checker"]),
     ok = sheldon:check([ $H
                        , [<<"i">>, " I am"]
                        , <<" (testing the spelling) checker !">>
                        ]),
  -  #{misspelled_words := [#{word := "thedfs"}]} =
  +  #{ misspelled_words := [#{ word := "thedfs" }] } =
       sheldon:check([ "Hi, I am \'tes"
                     , <<"ting\' the">>
                     , $d
  
positive.code: 
  -spec ignore_words(config()) -> ok.
  ignore_words(_Config) ->
    Config = #{ignore_words => ["Sheldon"] },
    ok = sheldon:check("Sheldon doesn't know his name, too bad", Config),
    Config2 = #{ignore_words => ["ttttthis", "sheldon", "differentone"] },
    ok =
      sheldon:check(<<"testing again. Sheldon should skip ttttthis">>, Config2),
    #{misspelled_words := [#{word := "vvvvv"}]} =
      sheldon:check(<<"testing again. Sheldon should skip ttttthis"
                     , " but sheldon doesn't skip vvvvv">>, Config2),
    ok.
  
  -spec ignore_patterns(config()) -> ok.
  ignore_patterns(_Config) ->
    Config = #{ignore_patterns => ["^begin"]},
    ok = sheldon:check("begindddd should be ignored", Config),
    Config2 = #{ignore_patterns => ["^[4-6]", "^begin"]},
    ok = sheldon:check("begindddd and 4rrrrrr should be ignored", Config2),
    #{misspelled_words := [#{word := "7rrrr"}]} =
      sheldon:check([ "begindddd and 4rrrrrr should be ignored"
                    , " but 7rrrr shouldn't be ignored, good..."
                    ], Config2),
  
negative.code:    , misspelled_words :=
      [ #{ line_number := 10, word := "miiisstake" }
      , #{ line_number := 7, word := "oneee" }
      , #{ line_number := 2, word := "mistakke" }
      ]
    } = sheldon:check(BlockMultiLine, #{ignore_blocks =>
                                        [#{ open => "^open_block$"
  