 
     @tag task_id: 3
     test "has a typespec" do
-      assert_spec({:letters, 1}, "String.t()", "[String.t()]")
+      assert_spec({:letters, 1}, ["word :: String.t()", "String.t()"], "[String.t()]")
     end
   end
 


    @tag task_id: 6
    test "has a typespec" do
      assert_spec({:format_address, 1}, "address()", "String.t()")
    end
  end
end

      {:"::", _, [arguments, return]} =
        Code.Typespec.spec_to_quoted(unquote(function_name), function_spec)

      accepted_arguments_specs =
        Enum.map(unquote(arguments_specs), fn arguments_spec ->
          "#{unquote(function_name)}(#{arguments_spec})"
        end)

      actual_arguments_spec = Macro.to_string(arguments)
      assert actual_arguments_spec in accepted_arguments_specs

      expected_return_spec = unquote(return_spec)
      actual_return_spec = Macro.to_string(return)
