pure f <*> x = pure (flip ($)) <*> x <*> pure f
Proof:
pure (flip ($)) <*> x <*> pure f = (interchange)
pure (flip ($)) <*> pure ($ f) <*> x = (homomorphism)
pure (flip ($) ($ f)) <*> x = (definition of flip)
pure ($ ($ f)) <*> x = (interchange)
x <*> pure ($ f) = (interchange) (Is this step valid?)
pure f <*> x