reaper, по-моему, ты раздул из мухи слона.
В твоем примере ты изначально заменяешь Service на CustomService в фабрике, а значит меняешь и возвращаемый тип функции. Натыкаешься на ту же ошибку.
Ошибка с типом могла бы служить тебе напоминанием, но вообще говоря, уже сам факт того, что ты изменяешь фабрику, должен тебя насторожить.