Числа, которые меняются, относятся к числу аргументов функции. AbstractFunction1
- это функция с одним аргументом, а AbstractFunction2
- это функция с двумя аргументами. Одним из способов обойти это было бы каррирование или кортеж ваших функций, чтобы они всегда были функциями с одним аргументом.
И, да, анонимные функции автоматически называются так, как вы предлагали. Если вы вставите новую анонимную функцию с двумя аргументами перед существующей анонимной функцией с одним аргументом, она будет выглядеть так, как если бы тип исходной функции изменился.