あ、書き間違えてる。

pure id <*> [1,2,3] == [1]

になっちまうだろ、だ。
Identity Lawがわかりにくいなら、
そもそもpure f <*> は fmap f と等価なので、

fmap id [1,2,3] == [1,2,3]

である以上、

pure id <*> [1,2,3] == [1,2,3]

でなければならん、と考えてくれ。