types-of-nonlinearity