correct ppr: !! x y -> (!!) x y
correct bug: about tuple and forall