A type parameter with default value is using forward declared identifier. Erroneous code example: ```compile_fail,E0128 struct Foo { field1: T, field2: U, } // error: generic parameters with a default cannot use forward declared // identifiers ``` Type parameter defaults can only use parameters that occur before them. Since type parameters are evaluated in-order, this issue could be fixed by doing: ``` struct Foo { field1: T, field2: U, } ``` Please also verify that this wasn't because of a name-clash and rename the type parameter if so.