Вы пробовали:
const token = req.token as Token;
У меня не может быть явного конструктора без параметров, только неявный, который инициализирует всех участников к их значению по умолчанию.
Хотя CLR позволяет его, C# не позволяет структурам иметь конструктора без параметров по умолчанию. Причина состоит в том, что, для типа значения, компиляторы по умолчанию ни генерировать конструктора по умолчанию, и при этом они не генерируют вызов к конструктору по умолчанию. Так, даже если Вы, оказалось, определили конструктора по умолчанию, это не назовут, и это только смутит Вас. Для предотвращения таких проблем компилятор C# запрещает определение конструктора по умолчанию пользователя. И потому что это не генерирует конструктора по умолчанию, Вы не можете инициализировать поля при определении их...
Вполне разумное объяснение может быть найдено в: http://en.csharp-online.net/CSharp_FAQ:_Why_must_struct_constructors_have_at_least_one_argument
Заключение в кавычки: "Общеязыковая среда выполнения (CLR).NET не гарантирует, что конструкторов без параметров вызовут. Если бы структурам разрешили иметь значение по умолчанию, конструкторов без параметров, то импликация была бы то, что конструкторов по умолчанию всегда называли бы. Все же CLR не делает такой гарантии".