Now we have a different type p_ in Optimizer, Kinematics, etc. replace by an inherited method p() that does a static cast from a single p_.