Symbolic product implemented through a function. Must overload a class