this now contains two functions, one for the old style and one for the new style of applying unary rules