Why does Negroni use both `http.Handler` and `http.HandlerFunc` in its API? It's rather inconsistent. ``` func New(handlers ...Handler) *Negroni ``` compared with the third parameter in ``` type Handler interface { ServeHTTP(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) } ```