public static IStructValue ExtractStructValue(IWorkshopTree value) { // Struct value. if (value is IStructValue structValue) { return(structValue); } // Empty array. var emptyArray = MakeEmptyArray(value); if (emptyArray != null) { return(emptyArray); } // Unknown throw new Exception(value.ToString() + " is not a valid struct value."); }