Help with unknown error: "Error: type mismatch: got <Prologue, HttpCode, proc (ctx: Context): Future[system.void]{.locks: <unknown>.}>"
This error keeps happening, and I don't know why...
Code:
```nim
proc go404(ctx: Context) {.async.} =
  var error = readFile("templates/error.html")
  error = error.replace("{{ header }}", header)
  error = error.replace("{{ code }}", "404")
  error = error.replace("{{ error }}", "Not found")
  error = error.replace("{{ footer }}", footer)
  resp error, Http404
# 500 error
proc go500(ctx: Context) {.async.} =
  var error = readFile("templates/error.html")
  error = error.replace("{{ header }}", header)
  error = error.replace("{{ code }}", "500")
  error = error.replace("{{ error }}", "Internal Server Error")
  error = error.replace("{{ footer }}", footer)
  resp error, Http500
```
```nim
app.registerErrorHandler(Http404, go404)
app.registerErrorHandler(Http500, go500)
```
Error:
```
/home/runner/[censured]/main.nim(48, 4) Error: type mismatch: got <Prologue, HttpCode, proc (ctx: Context): Future[system.void]{.locks: <unknown>.}>
but expected one of: 
proc registerErrorHandler(app: Prologue; code: HttpCode; handler: ErrorHandler)
  first type mismatch at position: 3
  required type for handler: ErrorHandler
  but expression 'go404' is of type: proc (ctx: Context): Future[system.void]{.locks: <unknown>.}
  This expression is not GC-safe. Annotate the proc with {.gcsafe.} to get extended error information.
proc registerErrorHandler(app: Prologue; code: openArray[HttpCode];
                          handler: ErrorHandler)
  first type mismatch at position: 2
  required type for code: openArray[HttpCode]
  but expression 'Http404' is of type: HttpCode
proc registerErrorHandler(app: Prologue; code: set[HttpCode];
                          handler: ErrorHandler)
  first type mismatch at position: 2
  required type for code: set[HttpCode]
  but expression 'Http404' is of type: HttpCode

expression: registerErrorHandler(app, Http404, go404)
~/[censured]$ 
```