     |> reason("{:error, :function_clause}")
     |> message(~r(Process #PID<[\d.]+> terminating$))
     |> stacktrace([
-      ~r{\(elixir\) unicode/unicode.ex:\d+: String.Unicode.length/1},
+      ~r{\(elixir\) (lib/elixir/)?unicode/unicode.ex:\d+: String.Unicode.length/1},
       ~r{\(stdlib\) proc_lib.erl:\d+: :proc_lib.init_p/3}
     ])
   end

      ~r(Process #PID<[\d.]+> terminating: {:function_clause, \[{String.Uni...)
    )
    |> stacktrace([
      ~r{\(elixir\) unicode/unicode.ex:\d+: String.Unicode.length/1},
      ~r{\(elixir\) lib/task/supervised.ex:\d+: Task.Supervised.do_apply/2},
      ~r{\(stdlib\) proc_lib.erl:\d+: :proc_lib.init_p_do_apply/3}
    ])

    |> reason(":function_clause")
    |> message(~r(Process #PID<[\d.]+> terminating: {:function_clause...))
    |> stacktrace([
      ~r{\(elixir\) (lib/elixir/)?unicode/unicode.ex:\d+: String.Unicode.length/1},
      ~r{test/appsignal/error_handler/error_matcher_test.exs:\d+: Appsignal.ErrorHandler.ErrorMatcherTest.CrashingGenServer.handle_info/2},
      ~r{\(stdlib\) gen_server.erl:\d+: :gen_server.try_dispatch/4},
      ~r{\(stdlib\) gen_server.erl:\d+: :gen_server.handle_msg/5},
