(function () {
  module.exports = function validator(n) {
    function makeModBy(m, modError) {
      return function(n, result) { if(n % m === 0) result.push(modError); }
    }

    function validatePositive(n, result) { if(n <= 0) result.push('error.nonpositive'); }

    var rules = [
      validatePositive,
      makeModBy(5, 'error.five'),
      makeModBy(3, 'error.three')
    ];

    var result = [];

    validatePositive(n, result);
    makeModBy(5, 'error.five')(n, result);
    makeModBy(3, 'error.three')(n, result);

    return rules.reduce(function(result, rule) {
      rule(n, result);
      return result;
    }, []);
  };
})();

@@ -325,208 +325,65 @@
 dBy(
-5, 'error.five'),%0A      makeModBy(3, 'error.three')%0A    %5D;%0A%0A    var result = %5B%5D;%0A%0A    validatePositive(n, result);%0A    makeModBy(5, 'error.five')(n, result);%0A    makeModBy(3, 'error.three')(n, result)
+3, 'error.three'),%0A      makeModBy(5, 'error.five')%0A    %5D
 ;%0A%0A 

purge dead code