# Functions order truncation (linearization)

I want from from expression like

$$e = (1 + h + \frac{\partial h}{\partial x}) (1 + h + \frac{\partial h}{\partial y})$$

arrive to

$$e \approx 1 + 2h + \frac{\partial h}{\partial x} + \frac{\partial h}{\partial y} + O(\dots)$$

by assumptions $h \ll 1; \frac{\partial h}{\partial x} \ll 1; \frac{\partial h}{\partial y} \ll 1$

Is there instrument for such transformations in sagemath? The problem I'm running into is $h$ being function of some vairables, while every occurance of big O notation in documentation operates on some ring variable.