Possible grammar
---@class ConstructorParameters<T>
---@class RemoveSelf<T>
---@generic T
---@inject_class T constructor({nonColon=false, returnSelf=true, name=""__init""})
---@param name `T`
---@return T
local function class(name)
end
---@generic T
---@param name `T`
---@param ... RemoveSelf<ConstructorParameters<T>>
---@return T
local function new(name, ...)
end
while also removing runtime.classDefaultCall