Bug in makerule - function was declared incorrectly and would not match in if/ifvarclass. Also it must return false in order to be compatible with these cases, not merely fail as previously argued. This is the only way to make class functions consistent