Add constraint mechanism to parser

When the constraint of a function parser isn't met, it tries
to generalize the argument expressions.