Вы говорите, что не хотите «повторяться с объявлением типа», но часть после return
не является объявлением типа; это начало литерала функции.
Если вы хотите литерал функции (или функцию или метод, определенный на уровне пакета), вам нужно указать аргументы, их типы и тип возвращаемого значения. Обойти это невозможно.
Если вы можете express вашу функцию в результате вычислений, то вы можете полагаться на вывод типа. Например, если у вас есть функция, которая возвращает http-обработчик martini, вы можете return myMartiniHandler(123)
без каких-либо типов. Это будет исключительный случай, поскольку большинство обработчиков не просто повторно используют существующий код.