Библиотека функция Фиксина в расширении

Один программист запросил у меня код моей библиотеки функций и я хотел выгрузить ему его в файл CF, но призадумался. Сейчас ведь конфигурации никто не меняет, поэтому библиотеку надо делать в расширении. Перенес модули в расширение бфф, но при обновлении конфигурации столкнулся с ошибкой:

Использование глобальных серверных общих модулей в расширении недопустимо
При проверке метаданных обнаружены ошибки!
Операция не может быть выполнена.

Так вот платформа своими идиотскими ограничениями зачеркнула красивую концепцию.

Я сначала расстроился, потом сделал три общих модуля в расширении:

Но мне не нравился подобный подход. Программисту нужно запоминать какая функция серверная, какая клиентская, какая клиент-серверная. Неудобно, некрасиво, непрактично.

В итоге мне пришла мысль оставить один клиент-серверный модуль бфф.

Создал новую конфигурацию, создал в расширении клиент-сереный модуль бфф:

#Если Клиент Тогда
	Функция П(Текст) Экспорт
		ПоказатьПредупреждение(, Текст);
КонецФункции
	
#КонецЕсли       

#Если Сервер Тогда
	Функция Т() Экспорт
		Возврат Новый ТаблицаЗначений();
	КонецФункции
	
#КонецЕсли

Создал тестовую команду:

&НаСервере
Функция ТестНаСервере()
	Т = бфф.Т();
	Возврат Т.Количество() + 1;
КонецФункции

&НаКлиенте
Процедура Тест(Команда)
	Р = ТестНаСервере();
	бфф.П(Р);
КонецПроцедуры

И она отработала успешно:

Следовательно, можно создать только один модуль бфф, и обращаться к нему без размышлений о том, это серверный или клиентский контекст.

Это приободрило меня и я решил, что всё же библиотеке функций быть на расширении.

Внутри библиотеки все вызовы функций будут через бфф. (бфф с точкой), чтобы проще их было оформить в единый общий модуль, который можно добавить, например, во внешнюю обработку. Тогда всем функциям нужно будет добавить префикс бфф, а бфф с точкой заменить просто на бфф.