update :: Assoc a b -> a -> b -> Assoc a b
update h x v y | x == y = v
| otherwise = lookup h y
という関数の定義に関して、
update :: Assoc a b -> a -> b -> Assoc a b
の第一パラメータとなっている、Assoc a b は、
update h x v y | x == y = v
| otherwise = lookup h y
という実装において、
Assoc a b の a が h に、 b が x に対応しているのでしょうか?

よろしくお願いします。