id v = v имеет тип forall a.a -> a;, а это типоаргумент, т.е. id 1 это ещё и, грубо говоря, id @Int 1. во всяких там агдах id : {a:Type} (v:a) -> a - у функции явно два аргумента, но первый (a) неявный и подставляется компилятором, а второй (v) - явный