Question: Expansion of expression in terms of 'small' functions

This may be a silly question, but does there exist some simple way of (Taylor) expanding an expression of 'small' functions in terms of these functions.

A simple example: Assume that diff(f(x),x) and g(x) are two functions both with range, say, in [-a,+a], where a << 1, and consider the following expression:

sqrt(1 + diff(f(x),x)) * (2 + g(x));

Its expansion to first order in terms of diff(f(x),x) and g(x) should be 2 + diff(f(x),x) + g(x). My problem is that mtaylor does not accept functions as variables to expand on, and I would prefer not to have to substitute back and forth with some 'placeholders'.

Please Wait...