Make sure the generic types have all resolved by by the time it reaches runtime. i.e: During runtime there should only be resolved types.