= Int
pow(v: Int): Square = v * v
circle(r: Int)(p: Int => Square) = 3.1415* p(r)
частично да, но имя параметра вместе с типом несет больше информации. Достаточно этого или нет - вопрос дискуссионный. мне недостаточно.
Обсуждают сегодня