https://obscureproblemsandgotchas.com/uncategorized/new-cannot-be-used-on-type-parameter/
New cannot be used on a type parameter that does not have a new constraint