Итого чтобы ресурс мог запускаться и там и там, нужно чтобы результат был сериализуем
...даже если этот результат никогда не отправляется по сети (интересно кстати, зачем выполнять ресурс на сервере а затем паковать и слать на клиент, если есть Server functions?)
...а когда у вас где-то в глубине результата чужой тип (например ошибка инкапсулирует другую) то всё, приехали, не светит вам Serializable