Instead `:` always asks for an initializer and since `T` implements `Init<T>`, this should be fine.
Instead
:always asks for an initializer and sinceTimplementsInit<T>, this should be fine.