text: export default considered harmful
  Consider you have a file
  foo.ts with the following contents:
  class Foo { } export default Foo;
  You would import it (in
  bar.ts) using ES6 syntax as follows:
  import Foo from "./foo";
  There are a few maintainability concerns here:
  - If you refactor
  Fooin
  foo.ts.
  Poor Discoverability';
  Autocomplete
  Irrespective of if you know about the exports, you evenautocomplete at this
  import {/*here*/} from "./foo"; cursor location. Gives your developers a bit of wrist relief.
  CommonJS interop
  With
  default there is horrible experience for commonJS users who have to
  const {default} = require('module/foo'); instead of
  const {Foo} = require('module/foo'). You will most likely want to rename the
  default export to something else when you import it.
  Typo Protection
  You don't get typos like one dev doing
  import Foo from "./foo"; and another doing
  import foo from "./foo";
  TypeScript auto-import
  Re-exporting is common for the root
  index file in npm packages, and forces you to name the default export manually e.g.
  export { default as Foo } from "./foo"; (with default) vs.
  export * from "./foo" (with named exports).
  Dynamic Imports
  Default exports expose themselves badly named as
  default in dynamic
  imports e.g.
  const HighChart = await import(''); Highcharts.default.chart('container', { ... }); // Notice `.default`
  Needs two lines for non-class / non-function;