add RichPartialFunction