I explained it in the PR, but I'll give you an example. If a user had a function that returned both a `string` or a `[]byte` (for whatever reason) they might use 

```go
m.Get("/", func() interface{} {
  if (true) {
    return "hello world"
  } else {
    return []byte("hello world")
  }
})
```

By returning `interface{}` they are actually returning a pointer to a string/[]byte. Without this line, when `.String()` is called `<interface {} Value>` will be returned.