It needs to be parsed as two tokens, not one. Example: static ThreadLocalVariable<IFoo?> _default = new ThreadLocalVariable<IFoo?>(null); // ERRORS Workaround: static ThreadLocalVariable<IFoo? > _default = new ThreadLocalVariable<IFoo? >(null); Note: this is a separate and more widespread issue than #133