User-defined RuLa functions are a way to think about complicated rule situations only once and make actual rules shorter, cleaner and less error prone. Functions are essentially an expression: They either no or as many parameters (or arguments) as possible and always have a single return value.