「at」と呼ばれるオブジェクト (おそらく関数) が、shapeless ソース全体と shapeless を使用するコードに散りばめられているのを見てきました。特に、この他の質問への回答で使用されます。コード スニペットは次のとおりです。
object iterateOverHList extends Poly1 {
implicit def iterable[T, L[T] <: Iterable[T]] = at[L[T]](_.iterator)
}
~> 型の apply メソッドに関連しているという手がかりがありました。「at」は具体的に何をし、どこで定義されていますか?