数据类型不一样

There is a function

func registerRoutes() *gin.Engine {
    r := gin.Default() // data type is *gin.Engine
    r.LoadHTMLGlob("templates/*")
    ...
    return r // data type is *gin-gin.Engine
}

What have I missed and why the same object has two different data types? In the beginning router is *gin.Engine and in the end it is *gin-gin.Engine.

Let's look at the line of code:

r := gin.Default()

Returning type of Default() is *gin.Engine but LiteIDE shows that r is a *gin-gin.Engine type. So what does it mean?