Use applicatives to allow multiple rules