{
    "compilerOptions": {
        "noImplicitAny": true,
        "noImplicitThis": true,
        "strictNullChecks": true
    },
    "files": [
        "src/util.ts",
        "src/main.ts",
        "src/chapter3/match.ts",
        "src/chapter3/test.ts",
        "src/chapter3/shrink.ts",
        "src/chapter3/leibniz.ts",
        "src/chapter4/linneus.ts",
        "src/chapter4/test.ts",
        "src/chapter5/painted-squares.ts",
        "src/chapter5/search.ts",
        "src/chapter5/test.ts",
        "src/chapter6/prover.ts",
        "src/chapter6/test.ts"
    ]
}

{
    "compilerOptions": {
        "noImplicitAny": true,
        "noImplicitThis": true,
        "strictNullChecks": true,
        "target": "es6",
        "module": "commonjs"
    },
    "files": [
        "src/util.ts",
        "src/main.ts",
        "src/chapter3/match.ts",
        "src/chapter3/test.ts",
        "src/chapter3/shrink.ts",
        "src/chapter3/leibniz.ts",
        "src/chapter4/linneus.ts",
        "src/chapter4/test.ts",
        "src/chapter5/painted-squares.ts",
        "src/chapter5/search.ts",
        "src/chapter5/test.ts",
        "src/chapter6/prover.ts",
        "src/chapter6/test.ts"
    ]
}

Switch to ES6 output/commonjs modules
Switch to ES6 output/commonjs modules

Makes generated code MUCH easier to read because
1. I only run on Node and Chrome.
2. I haven't set up source maps.
3. JS unit test syntax uses lambdas everywhere???
