Unity 2017 hangs when Launching - GenerateConstants

I’ve just upgraded to Unity 2017.1 (and the new version of .net) and am trying to get my project working but I’ve run into a very odd issue:

When I try and open my project in unity the I get the “Compiling Scripts” message but unity hangs there, using lots of processor. Digging into the unity editor log I found it was stalled at:

After a lot of poking of the class I found the line causing me an issue is:

private readonly SyncModelValueList _syncModelValues = new SyncModelValueList();

If I comment out this line then I can open the project, then uncomment it and it will cause the editor to hang as it tries to compile it.

This is referencing:

class SyncModelValueList : SyncListStruct<SyncModelValue> { }

SyncModelValue is a struct containing two strings and a byte (as well as a few functions to use the data).
I

have tried just about everything I can think of (examples include, changing visibility of variable and referenced classes, removing readonly from variable, initializing in the constructor, changing the name of the classes, changing the name of the variable, moving declarations around inside the cs files).

Anyone got an idea what could be happening?

I finally tracking this one down: Unity Issue Tracker - Stuck on compiling when class inherits a NetworkBehaviour class

It occurs for any kind of sync list as far as I can tell (SyncListBool SyncListInt, SyncListStruct etc).
It only occurs if the class is not directly descended from UnityNetworkBehaviour.

class CustomBehaviour : NetworkBehaviour
{
    private SyncListBool syncList; //this will work
}
class HangBehaviour: CustomBehaviour
{
    private SyncListBool hangList; //this line will cause the hang
}

I’ve worked around it locally by moving the SyncList declarations into base class and then only setting them up the classes that use them - not ideal but it works till a fix is released.