extract UnivarFunction and rename ori interface to UnivarDiffFunction