Nit: CPS is not restricted to functional languages (and I don't think it's widely used in FP outside of compilers.)