From 1786cc15d6c273006e9127f22bd0ce710d68fad0 Mon Sep 17 00:00:00 2001 From: Matt Pocock Date: Thu, 24 Aug 2023 14:09:26 +0100 Subject: [PATCH] 2023-08-24T13:09:26.059Z --- ...roblem.ts => 119-how-enums-break-structural-typing.problem.ts} | 0 ...ution.ts => 119-how-enums-break-structural-typing.solution.ts} | 0 ...-object-type.problem.ts => 120-unions-of-functions.problem.ts} | 0 ...bject-type.solution.ts => 120-unions-of-functions.solution.ts} | 0 .../121-empty-object-type.problem.ts} | 0 .../121-empty-object-type.solution.ts} | 0 ...values-from-types.problem.ts => 122-typeof-keyword.problem.ts} | 0 ...lues-from-types.solution.ts => 122-typeof-keyword.solution.ts} | 0 ...problem.ts => 123-create-runtime-values-from-types.problem.ts} | 0 ...lution.ts => 123-create-runtime-values-from-types.solution.ts} | 0 ...> 124-classes-and-enums-cross-value-and-type-world.problem.ts} | 0 ... 124-classes-and-enums-cross-value-and-type-world.solution.ts} | 0 ...rameters-type-helper.problem.ts => 125-return-type.problem.ts} | 0 ...meters-type-helper.solution.ts => 125-return-type.solution.ts} | 0 ...126-keyof.problem.ts => 126-parameters-type-helper.problem.ts} | 0 ...6-keyof.solution.ts => 126-parameters-type-helper.solution.ts} | 0 .../{127-indexed-access-types.problem.ts => 127-keyof.problem.ts} | 0 ...127-indexed-access-types.solution.ts => 127-keyof.solution.ts} | 0 ...ccess-types.problem.ts => 128-indexed-access-types.problem.ts} | 0 ...ess-types.solution.ts => 128-indexed-access-types.solution.ts} | 0 ...blem.ts => 129-pass-unions-to-indexed-access-types.problem.ts} | 0 ...ion.ts => 129-pass-unions-to-indexed-access-types.solution.ts} | 0 ...m.ts => 130-pass-keyof-into-an-indexed-access-type.problem.ts} | 0 ....ts => 130-pass-keyof-into-an-indexed-access-type.solution.ts} | 0 ...blem.ts => 131-create-an-enum-from-as-const-object.problem.ts} | 0 ...ion.ts => 131-create-an-enum-from-as-const-object.solution.ts} | 0 ...em.ts => 132-create-a-union-from-an-as-const-array.problem.ts} | 0 ...n.ts => 132-create-a-union-from-an-as-const-array.solution.ts} | 0 ...s.problem.ts => 133-should-i-use-enums-or-as-const.problem.ts} | 0 ...solution.ts => 133-should-i-use-enums-or-as-const.solution.ts} | 0 .../134-using-numeric-comparators-on-enums.problem.ts} | 0 .../134-using-numeric-comparators-on-enums.solution.ts} | 0 ...detection-force.problem.ts => 135-module-or-script.problem.ts} | 0 ...tection-force.solution.ts => 135-module-or-script.solution.ts} | 0 ...d-modules.problem.ts => 136-module-detection-force.problem.ts} | 0 ...modules.solution.ts => 136-module-detection-force.solution.ts} | 0 ...{137-cjs-vs-esm.problem.ts => 137-isolated-modules.problem.ts} | 0 ...37-cjs-vs-esm.solution.ts => 137-isolated-modules.solution.ts} | 0 ...n-bundler-or-nodenext.problem.ts => 138-cjs-vs-esm.problem.ts} | 0 ...bundler-or-nodenext.solution.ts => 138-cjs-vs-esm.solution.ts} | 0 ...em.ts => 139-module-resolution-bundler-or-nodenext.problem.ts} | 0 ...n.ts => 139-module-resolution-bundler-or-nodenext.solution.ts} | 0 ...lib-check-true.problem.ts => 140-declaration-files.problem.ts} | 0 ...b-check-true.solution.ts => 140-declaration-files.solution.ts} | 0 ...s-or-scripts.problem.ts => 141-skip-lib-check-true.problem.ts} | 0 ...or-scripts.solution.ts => 141-skip-lib-check-true.solution.ts} | 0 ...=> 142-declaration-files-can-be-modules-or-scripts.problem.ts} | 0 ...> 142-declaration-files-can-be-modules-or-scripts.solution.ts} | 0 ...143-declaration-files-can-be-used-to-type-js-files.problem.ts} | 0 ...43-declaration-files-can-be-used-to-type-js-files.solution.ts} | 0 .../144-should-you-use-declaration-files.problem.ts} | 0 .../144-should-you-use-declaration-files.solution.ts} | 0 ...roblem.ts => 145-ambient-context-and-declare-const.problem.ts} | 0 ...ution.ts => 145-ambient-context-and-declare-const.solution.ts} | 0 ...a-single-tsconfig.problem.ts => 146-declare-global.problem.ts} | 0 ...single-tsconfig.solution.ts => 146-declare-global.solution.ts} | 0 ...em.ts => 147-globals-are-tied-to-a-single-tsconfig.problem.ts} | 0 ...n.ts => 147-globals-are-tied-to-a-single-tsconfig.solution.ts} | 0 ...oblem.ts => 148-declare-global-or-declaration-file.problem.ts} | 0 ...tion.ts => 148-declare-global-or-declaration-file.solution.ts} | 0 ...in-declare-module.problem.ts => 149-declare-module.problem.ts} | 0 ...-declare-module.solution.ts => 149-declare-module.solution.ts} | 0 .../150-wildcard-in-declare-module.problem.ts} | 0 .../150-wildcard-in-declare-module.solution.ts} | 0 ...eclare-module-for-overriding-third-party-libraries.problem.ts} | 0 ...clare-module-for-overriding-third-party-libraries.solution.ts} | 0 ...rget-to-change-lib-d-ts.problem.ts => 152-lib-d-ts.problem.ts} | 0 ...et-to-change-lib-d-ts.solution.ts => 152-lib-d-ts.solution.ts} | 0 ....problem.ts => 153-using-target-to-change-lib-d-ts.problem.ts} | 0 ...olution.ts => 153-using-target-to-change-lib-d-ts.solution.ts} | 0 ...4-third-party-types.problem.ts => 154-lib-dom-d-ts.problem.ts} | 0 ...third-party-types.solution.ts => 154-lib-dom-d-ts.solution.ts} | 0 ...ts-in-tsconfig.problem.ts => 155-third-party-types.problem.ts} | 0 ...-in-tsconfig.solution.ts => 155-third-party-types.solution.ts} | 0 ...-for-node.problem.ts => 156-type-roots-in-tsconfig.problem.ts} | 0 ...or-node.solution.ts => 156-type-roots-in-tsconfig.solution.ts} | 0 ...raries.problem.ts => 157-setting-up-types-for-node.problem.ts} | 0 ...ries.solution.ts => 157-setting-up-types-for-node.solution.ts} | 0 ...w.problem.ts => 158-types-that-ship-with-libraries.problem.ts} | 0 ...solution.ts => 158-types-that-ship-with-libraries.solution.ts} | 0 ...ying-globalthis.problem.ts => 159-modifying-window.problem.ts} | 0 ...ng-globalthis.solution.ts => 159-modifying-window.solution.ts} | 0 ...process-env.problem.ts => 160-modifying-globalthis.problem.ts} | 0 ...ocess-env.solution.ts => 160-modifying-globalthis.solution.ts} | 0 .../161-modifying-process-env.problem.ts} | 0 .../161-modifying-process-env.solution.ts} | 0 ...s.problem.ts => 162-domain-modelling-in-typescript.problem.ts} | 0 ...solution.ts => 162-domain-modelling-in-typescript.solution.ts} | 0 ...parameters.problem.ts => 163-intro-to-helper-types.problem.ts} | 0 ...rameters.solution.ts => 163-intro-to-helper-types.solution.ts} | 0 ...ameters.problem.ts => 164-multiple-type-parameters.problem.ts} | 0 ...eters.solution.ts => 164-multiple-type-parameters.solution.ts} | 0 ...straints.problem.ts => 165-default-type-parameters.problem.ts} | 0 ...raints.solution.ts => 165-default-type-parameters.solution.ts} | 0 ...-of-omit.problem.ts => 166-type-helper-constraints.problem.ts} | 0 ...f-omit.solution.ts => 166-type-helper-constraints.solution.ts} | 0 ...al-types.problem.ts => 167-tighter-version-of-omit.problem.ts} | 0 ...-types.solution.ts => 167-tighter-version-of-omit.solution.ts} | 0 ...ral-types.problem.ts => 168-template-literal-types.problem.ts} | 0 ...l-types.solution.ts => 168-template-literal-types.solution.ts} | 0 .../169-passing-unions-to-template-literal-types.problem.ts} | 0 .../169-passing-unions-to-template-literal-types.solution.ts} | 0 ...g-bases.problem.ts => 170-introduction-to-tsconfig.problem.ts} | 0 ...bases.solution.ts => 170-introduction-to-tsconfig.solution.ts} | 0 ...config-json-files.problem.ts => 171-tsconfig-bases.problem.ts} | 0 ...nfig-json-files.solution.ts => 171-tsconfig-bases.solution.ts} | 0 ...les.problem.ts => 172-multiple-tsconfig-json-files.problem.ts} | 0 ...s.solution.ts => 172-multiple-tsconfig-json-files.solution.ts} | 0 ...ts => 173-extending-from-other-tsconfig-json-files.problem.ts} | 0 ...s => 173-extending-from-other-tsconfig-json-files.solution.ts} | 0 .../{174-jsx.problem.ts => 174-project-references.problem.ts} | 0 .../{174-jsx.solution.ts => 174-project-references.solution.ts} | 0 ...les-that-make-up-strict-mode.problem.ts => 175-jsx.problem.ts} | 0 ...s-that-make-up-strict-mode.solution.ts => 175-jsx.solution.ts} | 0 ...s.problem.ts => 176-rules-that-make-up-strict-mode.problem.ts} | 0 ...solution.ts => 176-rules-that-make-up-strict-mode.solution.ts} | 0 ...maps.problem.ts => 177-no-unchecked-indexed-access.problem.ts} | 0 ...ps.solution.ts => 177-no-unchecked-indexed-access.solution.ts} | 0 ...78-creating-declaration-files-and-declaration-maps.problem.ts} | 0 ...8-creating-declaration-files-and-declaration-maps.solution.ts} | 0 ...erence.problem.ts => 179-intro-to-the-utils-folder.problem.ts} | 0 ...ence.solution.ts => 179-intro-to-the-utils-folder.solution.ts} | 0 ...blem.ts => 180-generic-functions-without-inference.problem.ts} | 0 ...ion.ts => 180-generic-functions-without-inference.solution.ts} | 0 ...> 181-type-parameter-defaults-in-generic-functions.problem.ts} | 0 ... 181-type-parameter-defaults-in-generic-functions.solution.ts} | 0 ...problem.ts => 182-generic-functions-with-inference.problem.ts} | 0 ...lution.ts => 182-generic-functions-with-inference.solution.ts} | 0 ...function.problem.ts => 183-multiple-type-arguments.problem.ts} | 0 ...nction.solution.ts => 183-multiple-type-arguments.solution.ts} | 0 ...dicates.problem.ts => 184-create-group-by-function.problem.ts} | 0 ...cates.solution.ts => 184-create-group-by-function.solution.ts} | 0 ...ertion-functions.problem.ts => 185-type-predicates.problem.ts} | 0 ...tion-functions.solution.ts => 185-type-predicates.solution.ts} | 0 src/085-the-utils-folder/186-assertion-functions.problem.ts | 0 src/085-the-utils-folder/186-assertion-functions.solution.ts | 0 136 files changed, 0 insertions(+), 0 deletions(-) rename src/035-understanding-the-compiler/{119-unions-of-functions.problem.ts => 119-how-enums-break-structural-typing.problem.ts} (100%) rename src/035-understanding-the-compiler/{119-unions-of-functions.solution.ts => 119-how-enums-break-structural-typing.solution.ts} (100%) rename src/035-understanding-the-compiler/{120-empty-object-type.problem.ts => 120-unions-of-functions.problem.ts} (100%) rename src/035-understanding-the-compiler/{120-empty-object-type.solution.ts => 120-unions-of-functions.solution.ts} (100%) rename src/{040-deriving-types-from-values/121-typeof-keyword.problem.ts => 035-understanding-the-compiler/121-empty-object-type.problem.ts} (100%) rename src/{040-deriving-types-from-values/121-typeof-keyword.solution.ts => 035-understanding-the-compiler/121-empty-object-type.solution.ts} (100%) rename src/040-deriving-types-from-values/{122-create-runtime-values-from-types.problem.ts => 122-typeof-keyword.problem.ts} (100%) rename src/040-deriving-types-from-values/{122-create-runtime-values-from-types.solution.ts => 122-typeof-keyword.solution.ts} (100%) rename src/040-deriving-types-from-values/{123-classes-and-enums-cross-value-and-type-world.problem.ts => 123-create-runtime-values-from-types.problem.ts} (100%) rename src/040-deriving-types-from-values/{123-classes-and-enums-cross-value-and-type-world.solution.ts => 123-create-runtime-values-from-types.solution.ts} (100%) rename src/040-deriving-types-from-values/{124-return-type.problem.ts => 124-classes-and-enums-cross-value-and-type-world.problem.ts} (100%) rename src/040-deriving-types-from-values/{124-return-type.solution.ts => 124-classes-and-enums-cross-value-and-type-world.solution.ts} (100%) rename src/040-deriving-types-from-values/{125-parameters-type-helper.problem.ts => 125-return-type.problem.ts} (100%) rename src/040-deriving-types-from-values/{125-parameters-type-helper.solution.ts => 125-return-type.solution.ts} (100%) rename src/040-deriving-types-from-values/{126-keyof.problem.ts => 126-parameters-type-helper.problem.ts} (100%) rename src/040-deriving-types-from-values/{126-keyof.solution.ts => 126-parameters-type-helper.solution.ts} (100%) rename src/040-deriving-types-from-values/{127-indexed-access-types.problem.ts => 127-keyof.problem.ts} (100%) rename src/040-deriving-types-from-values/{127-indexed-access-types.solution.ts => 127-keyof.solution.ts} (100%) rename src/040-deriving-types-from-values/{128-pass-unions-to-indexed-access-types.problem.ts => 128-indexed-access-types.problem.ts} (100%) rename src/040-deriving-types-from-values/{128-pass-unions-to-indexed-access-types.solution.ts => 128-indexed-access-types.solution.ts} (100%) rename src/040-deriving-types-from-values/{129-pass-keyof-into-an-indexed-access-type.problem.ts => 129-pass-unions-to-indexed-access-types.problem.ts} (100%) rename src/040-deriving-types-from-values/{129-pass-keyof-into-an-indexed-access-type.solution.ts => 129-pass-unions-to-indexed-access-types.solution.ts} (100%) rename src/040-deriving-types-from-values/{130-create-an-enum-from-as-const-object.problem.ts => 130-pass-keyof-into-an-indexed-access-type.problem.ts} (100%) rename src/040-deriving-types-from-values/{130-create-an-enum-from-as-const-object.solution.ts => 130-pass-keyof-into-an-indexed-access-type.solution.ts} (100%) rename src/040-deriving-types-from-values/{131-create-a-union-from-an-as-const-array.problem.ts => 131-create-an-enum-from-as-const-object.problem.ts} (100%) rename src/040-deriving-types-from-values/{131-create-a-union-from-an-as-const-array.solution.ts => 131-create-an-enum-from-as-const-object.solution.ts} (100%) rename src/040-deriving-types-from-values/{132-should-i-use-enums-or-as-const.problem.ts => 132-create-a-union-from-an-as-const-array.problem.ts} (100%) rename src/040-deriving-types-from-values/{132-should-i-use-enums-or-as-const.solution.ts => 132-create-a-union-from-an-as-const-array.solution.ts} (100%) rename src/040-deriving-types-from-values/{133-using-numeric-comparators-on-enums.problem.ts => 133-should-i-use-enums-or-as-const.problem.ts} (100%) rename src/040-deriving-types-from-values/{133-using-numeric-comparators-on-enums.solution.ts => 133-should-i-use-enums-or-as-const.solution.ts} (100%) rename src/{060-modules-and-namespaces/134-module-or-script.problem.ts => 040-deriving-types-from-values/134-using-numeric-comparators-on-enums.problem.ts} (100%) rename src/{060-modules-and-namespaces/134-module-or-script.solution.ts => 040-deriving-types-from-values/134-using-numeric-comparators-on-enums.solution.ts} (100%) rename src/060-modules-and-namespaces/{135-module-detection-force.problem.ts => 135-module-or-script.problem.ts} (100%) rename src/060-modules-and-namespaces/{135-module-detection-force.solution.ts => 135-module-or-script.solution.ts} (100%) rename src/060-modules-and-namespaces/{136-isolated-modules.problem.ts => 136-module-detection-force.problem.ts} (100%) rename src/060-modules-and-namespaces/{136-isolated-modules.solution.ts => 136-module-detection-force.solution.ts} (100%) rename src/060-modules-and-namespaces/{137-cjs-vs-esm.problem.ts => 137-isolated-modules.problem.ts} (100%) rename src/060-modules-and-namespaces/{137-cjs-vs-esm.solution.ts => 137-isolated-modules.solution.ts} (100%) rename src/060-modules-and-namespaces/{138-module-resolution-bundler-or-nodenext.problem.ts => 138-cjs-vs-esm.problem.ts} (100%) rename src/060-modules-and-namespaces/{138-module-resolution-bundler-or-nodenext.solution.ts => 138-cjs-vs-esm.solution.ts} (100%) rename src/060-modules-and-namespaces/{139-declaration-files.problem.ts => 139-module-resolution-bundler-or-nodenext.problem.ts} (100%) rename src/060-modules-and-namespaces/{139-declaration-files.solution.ts => 139-module-resolution-bundler-or-nodenext.solution.ts} (100%) rename src/060-modules-and-namespaces/{140-skip-lib-check-true.problem.ts => 140-declaration-files.problem.ts} (100%) rename src/060-modules-and-namespaces/{140-skip-lib-check-true.solution.ts => 140-declaration-files.solution.ts} (100%) rename src/060-modules-and-namespaces/{141-declaration-files-can-be-modules-or-scripts.problem.ts => 141-skip-lib-check-true.problem.ts} (100%) rename src/060-modules-and-namespaces/{141-declaration-files-can-be-modules-or-scripts.solution.ts => 141-skip-lib-check-true.solution.ts} (100%) rename src/060-modules-and-namespaces/{142-declaration-files-can-be-used-to-type-js-files.problem.ts => 142-declaration-files-can-be-modules-or-scripts.problem.ts} (100%) rename src/060-modules-and-namespaces/{142-declaration-files-can-be-used-to-type-js-files.solution.ts => 142-declaration-files-can-be-modules-or-scripts.solution.ts} (100%) rename src/060-modules-and-namespaces/{143-should-you-use-declaration-files.problem.ts => 143-declaration-files-can-be-used-to-type-js-files.problem.ts} (100%) rename src/060-modules-and-namespaces/{143-should-you-use-declaration-files.solution.ts => 143-declaration-files-can-be-used-to-type-js-files.solution.ts} (100%) rename src/{062-the-global-namespace/144-ambient-context-and-declare-const.problem.ts => 060-modules-and-namespaces/144-should-you-use-declaration-files.problem.ts} (100%) rename src/{062-the-global-namespace/144-ambient-context-and-declare-const.solution.ts => 060-modules-and-namespaces/144-should-you-use-declaration-files.solution.ts} (100%) rename src/062-the-global-namespace/{145-declare-global.problem.ts => 145-ambient-context-and-declare-const.problem.ts} (100%) rename src/062-the-global-namespace/{145-declare-global.solution.ts => 145-ambient-context-and-declare-const.solution.ts} (100%) rename src/062-the-global-namespace/{146-globals-are-tied-to-a-single-tsconfig.problem.ts => 146-declare-global.problem.ts} (100%) rename src/062-the-global-namespace/{146-globals-are-tied-to-a-single-tsconfig.solution.ts => 146-declare-global.solution.ts} (100%) rename src/062-the-global-namespace/{147-declare-global-or-declaration-file.problem.ts => 147-globals-are-tied-to-a-single-tsconfig.problem.ts} (100%) rename src/062-the-global-namespace/{147-declare-global-or-declaration-file.solution.ts => 147-globals-are-tied-to-a-single-tsconfig.solution.ts} (100%) rename src/062-the-global-namespace/{148-declare-module.problem.ts => 148-declare-global-or-declaration-file.problem.ts} (100%) rename src/062-the-global-namespace/{148-declare-module.solution.ts => 148-declare-global-or-declaration-file.solution.ts} (100%) rename src/062-the-global-namespace/{149-wildcard-in-declare-module.problem.ts => 149-declare-module.problem.ts} (100%) rename src/062-the-global-namespace/{149-wildcard-in-declare-module.solution.ts => 149-declare-module.solution.ts} (100%) rename src/{065-four-spaces-of-typescript-declarations/150-declare-module-for-overriding-third-party-libraries.problem.ts => 062-the-global-namespace/150-wildcard-in-declare-module.problem.ts} (100%) rename src/{065-four-spaces-of-typescript-declarations/150-declare-module-for-overriding-third-party-libraries.solution.ts => 062-the-global-namespace/150-wildcard-in-declare-module.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{151-lib-d-ts.problem.ts => 151-declare-module-for-overriding-third-party-libraries.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{151-lib-d-ts.solution.ts => 151-declare-module-for-overriding-third-party-libraries.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{152-using-target-to-change-lib-d-ts.problem.ts => 152-lib-d-ts.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{152-using-target-to-change-lib-d-ts.solution.ts => 152-lib-d-ts.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{153-lib-dom-d-ts.problem.ts => 153-using-target-to-change-lib-d-ts.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{153-lib-dom-d-ts.solution.ts => 153-using-target-to-change-lib-d-ts.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{154-third-party-types.problem.ts => 154-lib-dom-d-ts.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{154-third-party-types.solution.ts => 154-lib-dom-d-ts.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{155-type-roots-in-tsconfig.problem.ts => 155-third-party-types.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{155-type-roots-in-tsconfig.solution.ts => 155-third-party-types.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{156-setting-up-types-for-node.problem.ts => 156-type-roots-in-tsconfig.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{156-setting-up-types-for-node.solution.ts => 156-type-roots-in-tsconfig.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{157-types-that-ship-with-libraries.problem.ts => 157-setting-up-types-for-node.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{157-types-that-ship-with-libraries.solution.ts => 157-setting-up-types-for-node.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{158-modifying-window.problem.ts => 158-types-that-ship-with-libraries.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{158-modifying-window.solution.ts => 158-types-that-ship-with-libraries.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{159-modifying-globalthis.problem.ts => 159-modifying-window.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{159-modifying-globalthis.solution.ts => 159-modifying-window.solution.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{160-modifying-process-env.problem.ts => 160-modifying-globalthis.problem.ts} (100%) rename src/065-four-spaces-of-typescript-declarations/{160-modifying-process-env.solution.ts => 160-modifying-globalthis.solution.ts} (100%) rename src/{075-designing-your-types/161-domain-modelling-in-typescript.problem.ts => 065-four-spaces-of-typescript-declarations/161-modifying-process-env.problem.ts} (100%) rename src/{075-designing-your-types/161-domain-modelling-in-typescript.solution.ts => 065-four-spaces-of-typescript-declarations/161-modifying-process-env.solution.ts} (100%) rename src/075-designing-your-types/{162-intro-to-helper-types.problem.ts => 162-domain-modelling-in-typescript.problem.ts} (100%) rename src/075-designing-your-types/{162-intro-to-helper-types.solution.ts => 162-domain-modelling-in-typescript.solution.ts} (100%) rename src/075-designing-your-types/{163-multiple-type-parameters.problem.ts => 163-intro-to-helper-types.problem.ts} (100%) rename src/075-designing-your-types/{163-multiple-type-parameters.solution.ts => 163-intro-to-helper-types.solution.ts} (100%) rename src/075-designing-your-types/{164-default-type-parameters.problem.ts => 164-multiple-type-parameters.problem.ts} (100%) rename src/075-designing-your-types/{164-default-type-parameters.solution.ts => 164-multiple-type-parameters.solution.ts} (100%) rename src/075-designing-your-types/{165-type-helper-constraints.problem.ts => 165-default-type-parameters.problem.ts} (100%) rename src/075-designing-your-types/{165-type-helper-constraints.solution.ts => 165-default-type-parameters.solution.ts} (100%) rename src/075-designing-your-types/{166-tighter-version-of-omit.problem.ts => 166-type-helper-constraints.problem.ts} (100%) rename src/075-designing-your-types/{166-tighter-version-of-omit.solution.ts => 166-type-helper-constraints.solution.ts} (100%) rename src/075-designing-your-types/{167-template-literal-types.problem.ts => 167-tighter-version-of-omit.problem.ts} (100%) rename src/075-designing-your-types/{167-template-literal-types.solution.ts => 167-tighter-version-of-omit.solution.ts} (100%) rename src/075-designing-your-types/{168-passing-unions-to-template-literal-types.problem.ts => 168-template-literal-types.problem.ts} (100%) rename src/075-designing-your-types/{168-passing-unions-to-template-literal-types.solution.ts => 168-template-literal-types.solution.ts} (100%) rename src/{080-configuring-typescript/169-introduction-to-tsconfig.problem.ts => 075-designing-your-types/169-passing-unions-to-template-literal-types.problem.ts} (100%) rename src/{080-configuring-typescript/169-introduction-to-tsconfig.solution.ts => 075-designing-your-types/169-passing-unions-to-template-literal-types.solution.ts} (100%) rename src/080-configuring-typescript/{170-tsconfig-bases.problem.ts => 170-introduction-to-tsconfig.problem.ts} (100%) rename src/080-configuring-typescript/{170-tsconfig-bases.solution.ts => 170-introduction-to-tsconfig.solution.ts} (100%) rename src/080-configuring-typescript/{171-multiple-tsconfig-json-files.problem.ts => 171-tsconfig-bases.problem.ts} (100%) rename src/080-configuring-typescript/{171-multiple-tsconfig-json-files.solution.ts => 171-tsconfig-bases.solution.ts} (100%) rename src/080-configuring-typescript/{172-extending-from-other-tsconfig-json-files.problem.ts => 172-multiple-tsconfig-json-files.problem.ts} (100%) rename src/080-configuring-typescript/{172-extending-from-other-tsconfig-json-files.solution.ts => 172-multiple-tsconfig-json-files.solution.ts} (100%) rename src/080-configuring-typescript/{173-project-references.problem.ts => 173-extending-from-other-tsconfig-json-files.problem.ts} (100%) rename src/080-configuring-typescript/{173-project-references.solution.ts => 173-extending-from-other-tsconfig-json-files.solution.ts} (100%) rename src/080-configuring-typescript/{174-jsx.problem.ts => 174-project-references.problem.ts} (100%) rename src/080-configuring-typescript/{174-jsx.solution.ts => 174-project-references.solution.ts} (100%) rename src/080-configuring-typescript/{175-rules-that-make-up-strict-mode.problem.ts => 175-jsx.problem.ts} (100%) rename src/080-configuring-typescript/{175-rules-that-make-up-strict-mode.solution.ts => 175-jsx.solution.ts} (100%) rename src/080-configuring-typescript/{176-no-unchecked-indexed-access.problem.ts => 176-rules-that-make-up-strict-mode.problem.ts} (100%) rename src/080-configuring-typescript/{176-no-unchecked-indexed-access.solution.ts => 176-rules-that-make-up-strict-mode.solution.ts} (100%) rename src/080-configuring-typescript/{177-creating-declaration-files-and-declaration-maps.problem.ts => 177-no-unchecked-indexed-access.problem.ts} (100%) rename src/080-configuring-typescript/{177-creating-declaration-files-and-declaration-maps.solution.ts => 177-no-unchecked-indexed-access.solution.ts} (100%) rename src/{085-the-utils-folder/178-intro-to-the-utils-folder.problem.ts => 080-configuring-typescript/178-creating-declaration-files-and-declaration-maps.problem.ts} (100%) rename src/{085-the-utils-folder/178-intro-to-the-utils-folder.solution.ts => 080-configuring-typescript/178-creating-declaration-files-and-declaration-maps.solution.ts} (100%) rename src/085-the-utils-folder/{179-generic-functions-without-inference.problem.ts => 179-intro-to-the-utils-folder.problem.ts} (100%) rename src/085-the-utils-folder/{179-generic-functions-without-inference.solution.ts => 179-intro-to-the-utils-folder.solution.ts} (100%) rename src/085-the-utils-folder/{180-type-parameter-defaults-in-generic-functions.problem.ts => 180-generic-functions-without-inference.problem.ts} (100%) rename src/085-the-utils-folder/{180-type-parameter-defaults-in-generic-functions.solution.ts => 180-generic-functions-without-inference.solution.ts} (100%) rename src/085-the-utils-folder/{181-generic-functions-with-inference.problem.ts => 181-type-parameter-defaults-in-generic-functions.problem.ts} (100%) rename src/085-the-utils-folder/{181-generic-functions-with-inference.solution.ts => 181-type-parameter-defaults-in-generic-functions.solution.ts} (100%) rename src/085-the-utils-folder/{182-multiple-type-arguments.problem.ts => 182-generic-functions-with-inference.problem.ts} (100%) rename src/085-the-utils-folder/{182-multiple-type-arguments.solution.ts => 182-generic-functions-with-inference.solution.ts} (100%) rename src/085-the-utils-folder/{183-create-group-by-function.problem.ts => 183-multiple-type-arguments.problem.ts} (100%) rename src/085-the-utils-folder/{183-create-group-by-function.solution.ts => 183-multiple-type-arguments.solution.ts} (100%) rename src/085-the-utils-folder/{184-type-predicates.problem.ts => 184-create-group-by-function.problem.ts} (100%) rename src/085-the-utils-folder/{184-type-predicates.solution.ts => 184-create-group-by-function.solution.ts} (100%) rename src/085-the-utils-folder/{185-assertion-functions.problem.ts => 185-type-predicates.problem.ts} (100%) rename src/085-the-utils-folder/{185-assertion-functions.solution.ts => 185-type-predicates.solution.ts} (100%) create mode 100644 src/085-the-utils-folder/186-assertion-functions.problem.ts create mode 100644 src/085-the-utils-folder/186-assertion-functions.solution.ts diff --git a/src/035-understanding-the-compiler/119-unions-of-functions.problem.ts b/src/035-understanding-the-compiler/119-how-enums-break-structural-typing.problem.ts similarity index 100% rename from src/035-understanding-the-compiler/119-unions-of-functions.problem.ts rename to src/035-understanding-the-compiler/119-how-enums-break-structural-typing.problem.ts diff --git a/src/035-understanding-the-compiler/119-unions-of-functions.solution.ts b/src/035-understanding-the-compiler/119-how-enums-break-structural-typing.solution.ts similarity index 100% rename from src/035-understanding-the-compiler/119-unions-of-functions.solution.ts rename to src/035-understanding-the-compiler/119-how-enums-break-structural-typing.solution.ts diff --git a/src/035-understanding-the-compiler/120-empty-object-type.problem.ts b/src/035-understanding-the-compiler/120-unions-of-functions.problem.ts similarity index 100% rename from src/035-understanding-the-compiler/120-empty-object-type.problem.ts rename to src/035-understanding-the-compiler/120-unions-of-functions.problem.ts diff --git a/src/035-understanding-the-compiler/120-empty-object-type.solution.ts b/src/035-understanding-the-compiler/120-unions-of-functions.solution.ts similarity index 100% rename from src/035-understanding-the-compiler/120-empty-object-type.solution.ts rename to src/035-understanding-the-compiler/120-unions-of-functions.solution.ts diff --git a/src/040-deriving-types-from-values/121-typeof-keyword.problem.ts b/src/035-understanding-the-compiler/121-empty-object-type.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/121-typeof-keyword.problem.ts rename to src/035-understanding-the-compiler/121-empty-object-type.problem.ts diff --git a/src/040-deriving-types-from-values/121-typeof-keyword.solution.ts b/src/035-understanding-the-compiler/121-empty-object-type.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/121-typeof-keyword.solution.ts rename to src/035-understanding-the-compiler/121-empty-object-type.solution.ts diff --git a/src/040-deriving-types-from-values/122-create-runtime-values-from-types.problem.ts b/src/040-deriving-types-from-values/122-typeof-keyword.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/122-create-runtime-values-from-types.problem.ts rename to src/040-deriving-types-from-values/122-typeof-keyword.problem.ts diff --git a/src/040-deriving-types-from-values/122-create-runtime-values-from-types.solution.ts b/src/040-deriving-types-from-values/122-typeof-keyword.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/122-create-runtime-values-from-types.solution.ts rename to src/040-deriving-types-from-values/122-typeof-keyword.solution.ts diff --git a/src/040-deriving-types-from-values/123-classes-and-enums-cross-value-and-type-world.problem.ts b/src/040-deriving-types-from-values/123-create-runtime-values-from-types.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/123-classes-and-enums-cross-value-and-type-world.problem.ts rename to src/040-deriving-types-from-values/123-create-runtime-values-from-types.problem.ts diff --git a/src/040-deriving-types-from-values/123-classes-and-enums-cross-value-and-type-world.solution.ts b/src/040-deriving-types-from-values/123-create-runtime-values-from-types.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/123-classes-and-enums-cross-value-and-type-world.solution.ts rename to src/040-deriving-types-from-values/123-create-runtime-values-from-types.solution.ts diff --git a/src/040-deriving-types-from-values/124-return-type.problem.ts b/src/040-deriving-types-from-values/124-classes-and-enums-cross-value-and-type-world.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/124-return-type.problem.ts rename to src/040-deriving-types-from-values/124-classes-and-enums-cross-value-and-type-world.problem.ts diff --git a/src/040-deriving-types-from-values/124-return-type.solution.ts b/src/040-deriving-types-from-values/124-classes-and-enums-cross-value-and-type-world.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/124-return-type.solution.ts rename to src/040-deriving-types-from-values/124-classes-and-enums-cross-value-and-type-world.solution.ts diff --git a/src/040-deriving-types-from-values/125-parameters-type-helper.problem.ts b/src/040-deriving-types-from-values/125-return-type.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/125-parameters-type-helper.problem.ts rename to src/040-deriving-types-from-values/125-return-type.problem.ts diff --git a/src/040-deriving-types-from-values/125-parameters-type-helper.solution.ts b/src/040-deriving-types-from-values/125-return-type.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/125-parameters-type-helper.solution.ts rename to src/040-deriving-types-from-values/125-return-type.solution.ts diff --git a/src/040-deriving-types-from-values/126-keyof.problem.ts b/src/040-deriving-types-from-values/126-parameters-type-helper.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/126-keyof.problem.ts rename to src/040-deriving-types-from-values/126-parameters-type-helper.problem.ts diff --git a/src/040-deriving-types-from-values/126-keyof.solution.ts b/src/040-deriving-types-from-values/126-parameters-type-helper.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/126-keyof.solution.ts rename to src/040-deriving-types-from-values/126-parameters-type-helper.solution.ts diff --git a/src/040-deriving-types-from-values/127-indexed-access-types.problem.ts b/src/040-deriving-types-from-values/127-keyof.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/127-indexed-access-types.problem.ts rename to src/040-deriving-types-from-values/127-keyof.problem.ts diff --git a/src/040-deriving-types-from-values/127-indexed-access-types.solution.ts b/src/040-deriving-types-from-values/127-keyof.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/127-indexed-access-types.solution.ts rename to src/040-deriving-types-from-values/127-keyof.solution.ts diff --git a/src/040-deriving-types-from-values/128-pass-unions-to-indexed-access-types.problem.ts b/src/040-deriving-types-from-values/128-indexed-access-types.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/128-pass-unions-to-indexed-access-types.problem.ts rename to src/040-deriving-types-from-values/128-indexed-access-types.problem.ts diff --git a/src/040-deriving-types-from-values/128-pass-unions-to-indexed-access-types.solution.ts b/src/040-deriving-types-from-values/128-indexed-access-types.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/128-pass-unions-to-indexed-access-types.solution.ts rename to src/040-deriving-types-from-values/128-indexed-access-types.solution.ts diff --git a/src/040-deriving-types-from-values/129-pass-keyof-into-an-indexed-access-type.problem.ts b/src/040-deriving-types-from-values/129-pass-unions-to-indexed-access-types.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/129-pass-keyof-into-an-indexed-access-type.problem.ts rename to src/040-deriving-types-from-values/129-pass-unions-to-indexed-access-types.problem.ts diff --git a/src/040-deriving-types-from-values/129-pass-keyof-into-an-indexed-access-type.solution.ts b/src/040-deriving-types-from-values/129-pass-unions-to-indexed-access-types.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/129-pass-keyof-into-an-indexed-access-type.solution.ts rename to src/040-deriving-types-from-values/129-pass-unions-to-indexed-access-types.solution.ts diff --git a/src/040-deriving-types-from-values/130-create-an-enum-from-as-const-object.problem.ts b/src/040-deriving-types-from-values/130-pass-keyof-into-an-indexed-access-type.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/130-create-an-enum-from-as-const-object.problem.ts rename to src/040-deriving-types-from-values/130-pass-keyof-into-an-indexed-access-type.problem.ts diff --git a/src/040-deriving-types-from-values/130-create-an-enum-from-as-const-object.solution.ts b/src/040-deriving-types-from-values/130-pass-keyof-into-an-indexed-access-type.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/130-create-an-enum-from-as-const-object.solution.ts rename to src/040-deriving-types-from-values/130-pass-keyof-into-an-indexed-access-type.solution.ts diff --git a/src/040-deriving-types-from-values/131-create-a-union-from-an-as-const-array.problem.ts b/src/040-deriving-types-from-values/131-create-an-enum-from-as-const-object.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/131-create-a-union-from-an-as-const-array.problem.ts rename to src/040-deriving-types-from-values/131-create-an-enum-from-as-const-object.problem.ts diff --git a/src/040-deriving-types-from-values/131-create-a-union-from-an-as-const-array.solution.ts b/src/040-deriving-types-from-values/131-create-an-enum-from-as-const-object.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/131-create-a-union-from-an-as-const-array.solution.ts rename to src/040-deriving-types-from-values/131-create-an-enum-from-as-const-object.solution.ts diff --git a/src/040-deriving-types-from-values/132-should-i-use-enums-or-as-const.problem.ts b/src/040-deriving-types-from-values/132-create-a-union-from-an-as-const-array.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/132-should-i-use-enums-or-as-const.problem.ts rename to src/040-deriving-types-from-values/132-create-a-union-from-an-as-const-array.problem.ts diff --git a/src/040-deriving-types-from-values/132-should-i-use-enums-or-as-const.solution.ts b/src/040-deriving-types-from-values/132-create-a-union-from-an-as-const-array.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/132-should-i-use-enums-or-as-const.solution.ts rename to src/040-deriving-types-from-values/132-create-a-union-from-an-as-const-array.solution.ts diff --git a/src/040-deriving-types-from-values/133-using-numeric-comparators-on-enums.problem.ts b/src/040-deriving-types-from-values/133-should-i-use-enums-or-as-const.problem.ts similarity index 100% rename from src/040-deriving-types-from-values/133-using-numeric-comparators-on-enums.problem.ts rename to src/040-deriving-types-from-values/133-should-i-use-enums-or-as-const.problem.ts diff --git a/src/040-deriving-types-from-values/133-using-numeric-comparators-on-enums.solution.ts b/src/040-deriving-types-from-values/133-should-i-use-enums-or-as-const.solution.ts similarity index 100% rename from src/040-deriving-types-from-values/133-using-numeric-comparators-on-enums.solution.ts rename to src/040-deriving-types-from-values/133-should-i-use-enums-or-as-const.solution.ts diff --git a/src/060-modules-and-namespaces/134-module-or-script.problem.ts b/src/040-deriving-types-from-values/134-using-numeric-comparators-on-enums.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/134-module-or-script.problem.ts rename to src/040-deriving-types-from-values/134-using-numeric-comparators-on-enums.problem.ts diff --git a/src/060-modules-and-namespaces/134-module-or-script.solution.ts b/src/040-deriving-types-from-values/134-using-numeric-comparators-on-enums.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/134-module-or-script.solution.ts rename to src/040-deriving-types-from-values/134-using-numeric-comparators-on-enums.solution.ts diff --git a/src/060-modules-and-namespaces/135-module-detection-force.problem.ts b/src/060-modules-and-namespaces/135-module-or-script.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/135-module-detection-force.problem.ts rename to src/060-modules-and-namespaces/135-module-or-script.problem.ts diff --git a/src/060-modules-and-namespaces/135-module-detection-force.solution.ts b/src/060-modules-and-namespaces/135-module-or-script.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/135-module-detection-force.solution.ts rename to src/060-modules-and-namespaces/135-module-or-script.solution.ts diff --git a/src/060-modules-and-namespaces/136-isolated-modules.problem.ts b/src/060-modules-and-namespaces/136-module-detection-force.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/136-isolated-modules.problem.ts rename to src/060-modules-and-namespaces/136-module-detection-force.problem.ts diff --git a/src/060-modules-and-namespaces/136-isolated-modules.solution.ts b/src/060-modules-and-namespaces/136-module-detection-force.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/136-isolated-modules.solution.ts rename to src/060-modules-and-namespaces/136-module-detection-force.solution.ts diff --git a/src/060-modules-and-namespaces/137-cjs-vs-esm.problem.ts b/src/060-modules-and-namespaces/137-isolated-modules.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/137-cjs-vs-esm.problem.ts rename to src/060-modules-and-namespaces/137-isolated-modules.problem.ts diff --git a/src/060-modules-and-namespaces/137-cjs-vs-esm.solution.ts b/src/060-modules-and-namespaces/137-isolated-modules.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/137-cjs-vs-esm.solution.ts rename to src/060-modules-and-namespaces/137-isolated-modules.solution.ts diff --git a/src/060-modules-and-namespaces/138-module-resolution-bundler-or-nodenext.problem.ts b/src/060-modules-and-namespaces/138-cjs-vs-esm.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/138-module-resolution-bundler-or-nodenext.problem.ts rename to src/060-modules-and-namespaces/138-cjs-vs-esm.problem.ts diff --git a/src/060-modules-and-namespaces/138-module-resolution-bundler-or-nodenext.solution.ts b/src/060-modules-and-namespaces/138-cjs-vs-esm.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/138-module-resolution-bundler-or-nodenext.solution.ts rename to src/060-modules-and-namespaces/138-cjs-vs-esm.solution.ts diff --git a/src/060-modules-and-namespaces/139-declaration-files.problem.ts b/src/060-modules-and-namespaces/139-module-resolution-bundler-or-nodenext.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/139-declaration-files.problem.ts rename to src/060-modules-and-namespaces/139-module-resolution-bundler-or-nodenext.problem.ts diff --git a/src/060-modules-and-namespaces/139-declaration-files.solution.ts b/src/060-modules-and-namespaces/139-module-resolution-bundler-or-nodenext.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/139-declaration-files.solution.ts rename to src/060-modules-and-namespaces/139-module-resolution-bundler-or-nodenext.solution.ts diff --git a/src/060-modules-and-namespaces/140-skip-lib-check-true.problem.ts b/src/060-modules-and-namespaces/140-declaration-files.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/140-skip-lib-check-true.problem.ts rename to src/060-modules-and-namespaces/140-declaration-files.problem.ts diff --git a/src/060-modules-and-namespaces/140-skip-lib-check-true.solution.ts b/src/060-modules-and-namespaces/140-declaration-files.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/140-skip-lib-check-true.solution.ts rename to src/060-modules-and-namespaces/140-declaration-files.solution.ts diff --git a/src/060-modules-and-namespaces/141-declaration-files-can-be-modules-or-scripts.problem.ts b/src/060-modules-and-namespaces/141-skip-lib-check-true.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/141-declaration-files-can-be-modules-or-scripts.problem.ts rename to src/060-modules-and-namespaces/141-skip-lib-check-true.problem.ts diff --git a/src/060-modules-and-namespaces/141-declaration-files-can-be-modules-or-scripts.solution.ts b/src/060-modules-and-namespaces/141-skip-lib-check-true.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/141-declaration-files-can-be-modules-or-scripts.solution.ts rename to src/060-modules-and-namespaces/141-skip-lib-check-true.solution.ts diff --git a/src/060-modules-and-namespaces/142-declaration-files-can-be-used-to-type-js-files.problem.ts b/src/060-modules-and-namespaces/142-declaration-files-can-be-modules-or-scripts.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/142-declaration-files-can-be-used-to-type-js-files.problem.ts rename to src/060-modules-and-namespaces/142-declaration-files-can-be-modules-or-scripts.problem.ts diff --git a/src/060-modules-and-namespaces/142-declaration-files-can-be-used-to-type-js-files.solution.ts b/src/060-modules-and-namespaces/142-declaration-files-can-be-modules-or-scripts.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/142-declaration-files-can-be-used-to-type-js-files.solution.ts rename to src/060-modules-and-namespaces/142-declaration-files-can-be-modules-or-scripts.solution.ts diff --git a/src/060-modules-and-namespaces/143-should-you-use-declaration-files.problem.ts b/src/060-modules-and-namespaces/143-declaration-files-can-be-used-to-type-js-files.problem.ts similarity index 100% rename from src/060-modules-and-namespaces/143-should-you-use-declaration-files.problem.ts rename to src/060-modules-and-namespaces/143-declaration-files-can-be-used-to-type-js-files.problem.ts diff --git a/src/060-modules-and-namespaces/143-should-you-use-declaration-files.solution.ts b/src/060-modules-and-namespaces/143-declaration-files-can-be-used-to-type-js-files.solution.ts similarity index 100% rename from src/060-modules-and-namespaces/143-should-you-use-declaration-files.solution.ts rename to src/060-modules-and-namespaces/143-declaration-files-can-be-used-to-type-js-files.solution.ts diff --git a/src/062-the-global-namespace/144-ambient-context-and-declare-const.problem.ts b/src/060-modules-and-namespaces/144-should-you-use-declaration-files.problem.ts similarity index 100% rename from src/062-the-global-namespace/144-ambient-context-and-declare-const.problem.ts rename to src/060-modules-and-namespaces/144-should-you-use-declaration-files.problem.ts diff --git a/src/062-the-global-namespace/144-ambient-context-and-declare-const.solution.ts b/src/060-modules-and-namespaces/144-should-you-use-declaration-files.solution.ts similarity index 100% rename from src/062-the-global-namespace/144-ambient-context-and-declare-const.solution.ts rename to src/060-modules-and-namespaces/144-should-you-use-declaration-files.solution.ts diff --git a/src/062-the-global-namespace/145-declare-global.problem.ts b/src/062-the-global-namespace/145-ambient-context-and-declare-const.problem.ts similarity index 100% rename from src/062-the-global-namespace/145-declare-global.problem.ts rename to src/062-the-global-namespace/145-ambient-context-and-declare-const.problem.ts diff --git a/src/062-the-global-namespace/145-declare-global.solution.ts b/src/062-the-global-namespace/145-ambient-context-and-declare-const.solution.ts similarity index 100% rename from src/062-the-global-namespace/145-declare-global.solution.ts rename to src/062-the-global-namespace/145-ambient-context-and-declare-const.solution.ts diff --git a/src/062-the-global-namespace/146-globals-are-tied-to-a-single-tsconfig.problem.ts b/src/062-the-global-namespace/146-declare-global.problem.ts similarity index 100% rename from src/062-the-global-namespace/146-globals-are-tied-to-a-single-tsconfig.problem.ts rename to src/062-the-global-namespace/146-declare-global.problem.ts diff --git a/src/062-the-global-namespace/146-globals-are-tied-to-a-single-tsconfig.solution.ts b/src/062-the-global-namespace/146-declare-global.solution.ts similarity index 100% rename from src/062-the-global-namespace/146-globals-are-tied-to-a-single-tsconfig.solution.ts rename to src/062-the-global-namespace/146-declare-global.solution.ts diff --git a/src/062-the-global-namespace/147-declare-global-or-declaration-file.problem.ts b/src/062-the-global-namespace/147-globals-are-tied-to-a-single-tsconfig.problem.ts similarity index 100% rename from src/062-the-global-namespace/147-declare-global-or-declaration-file.problem.ts rename to src/062-the-global-namespace/147-globals-are-tied-to-a-single-tsconfig.problem.ts diff --git a/src/062-the-global-namespace/147-declare-global-or-declaration-file.solution.ts b/src/062-the-global-namespace/147-globals-are-tied-to-a-single-tsconfig.solution.ts similarity index 100% rename from src/062-the-global-namespace/147-declare-global-or-declaration-file.solution.ts rename to src/062-the-global-namespace/147-globals-are-tied-to-a-single-tsconfig.solution.ts diff --git a/src/062-the-global-namespace/148-declare-module.problem.ts b/src/062-the-global-namespace/148-declare-global-or-declaration-file.problem.ts similarity index 100% rename from src/062-the-global-namespace/148-declare-module.problem.ts rename to src/062-the-global-namespace/148-declare-global-or-declaration-file.problem.ts diff --git a/src/062-the-global-namespace/148-declare-module.solution.ts b/src/062-the-global-namespace/148-declare-global-or-declaration-file.solution.ts similarity index 100% rename from src/062-the-global-namespace/148-declare-module.solution.ts rename to src/062-the-global-namespace/148-declare-global-or-declaration-file.solution.ts diff --git a/src/062-the-global-namespace/149-wildcard-in-declare-module.problem.ts b/src/062-the-global-namespace/149-declare-module.problem.ts similarity index 100% rename from src/062-the-global-namespace/149-wildcard-in-declare-module.problem.ts rename to src/062-the-global-namespace/149-declare-module.problem.ts diff --git a/src/062-the-global-namespace/149-wildcard-in-declare-module.solution.ts b/src/062-the-global-namespace/149-declare-module.solution.ts similarity index 100% rename from src/062-the-global-namespace/149-wildcard-in-declare-module.solution.ts rename to src/062-the-global-namespace/149-declare-module.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/150-declare-module-for-overriding-third-party-libraries.problem.ts b/src/062-the-global-namespace/150-wildcard-in-declare-module.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/150-declare-module-for-overriding-third-party-libraries.problem.ts rename to src/062-the-global-namespace/150-wildcard-in-declare-module.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/150-declare-module-for-overriding-third-party-libraries.solution.ts b/src/062-the-global-namespace/150-wildcard-in-declare-module.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/150-declare-module-for-overriding-third-party-libraries.solution.ts rename to src/062-the-global-namespace/150-wildcard-in-declare-module.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/151-lib-d-ts.problem.ts b/src/065-four-spaces-of-typescript-declarations/151-declare-module-for-overriding-third-party-libraries.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/151-lib-d-ts.problem.ts rename to src/065-four-spaces-of-typescript-declarations/151-declare-module-for-overriding-third-party-libraries.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/151-lib-d-ts.solution.ts b/src/065-four-spaces-of-typescript-declarations/151-declare-module-for-overriding-third-party-libraries.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/151-lib-d-ts.solution.ts rename to src/065-four-spaces-of-typescript-declarations/151-declare-module-for-overriding-third-party-libraries.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/152-using-target-to-change-lib-d-ts.problem.ts b/src/065-four-spaces-of-typescript-declarations/152-lib-d-ts.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/152-using-target-to-change-lib-d-ts.problem.ts rename to src/065-four-spaces-of-typescript-declarations/152-lib-d-ts.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/152-using-target-to-change-lib-d-ts.solution.ts b/src/065-four-spaces-of-typescript-declarations/152-lib-d-ts.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/152-using-target-to-change-lib-d-ts.solution.ts rename to src/065-four-spaces-of-typescript-declarations/152-lib-d-ts.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/153-lib-dom-d-ts.problem.ts b/src/065-four-spaces-of-typescript-declarations/153-using-target-to-change-lib-d-ts.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/153-lib-dom-d-ts.problem.ts rename to src/065-four-spaces-of-typescript-declarations/153-using-target-to-change-lib-d-ts.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/153-lib-dom-d-ts.solution.ts b/src/065-four-spaces-of-typescript-declarations/153-using-target-to-change-lib-d-ts.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/153-lib-dom-d-ts.solution.ts rename to src/065-four-spaces-of-typescript-declarations/153-using-target-to-change-lib-d-ts.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/154-third-party-types.problem.ts b/src/065-four-spaces-of-typescript-declarations/154-lib-dom-d-ts.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/154-third-party-types.problem.ts rename to src/065-four-spaces-of-typescript-declarations/154-lib-dom-d-ts.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/154-third-party-types.solution.ts b/src/065-four-spaces-of-typescript-declarations/154-lib-dom-d-ts.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/154-third-party-types.solution.ts rename to src/065-four-spaces-of-typescript-declarations/154-lib-dom-d-ts.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/155-type-roots-in-tsconfig.problem.ts b/src/065-four-spaces-of-typescript-declarations/155-third-party-types.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/155-type-roots-in-tsconfig.problem.ts rename to src/065-four-spaces-of-typescript-declarations/155-third-party-types.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/155-type-roots-in-tsconfig.solution.ts b/src/065-four-spaces-of-typescript-declarations/155-third-party-types.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/155-type-roots-in-tsconfig.solution.ts rename to src/065-four-spaces-of-typescript-declarations/155-third-party-types.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/156-setting-up-types-for-node.problem.ts b/src/065-four-spaces-of-typescript-declarations/156-type-roots-in-tsconfig.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/156-setting-up-types-for-node.problem.ts rename to src/065-four-spaces-of-typescript-declarations/156-type-roots-in-tsconfig.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/156-setting-up-types-for-node.solution.ts b/src/065-four-spaces-of-typescript-declarations/156-type-roots-in-tsconfig.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/156-setting-up-types-for-node.solution.ts rename to src/065-four-spaces-of-typescript-declarations/156-type-roots-in-tsconfig.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/157-types-that-ship-with-libraries.problem.ts b/src/065-four-spaces-of-typescript-declarations/157-setting-up-types-for-node.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/157-types-that-ship-with-libraries.problem.ts rename to src/065-four-spaces-of-typescript-declarations/157-setting-up-types-for-node.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/157-types-that-ship-with-libraries.solution.ts b/src/065-four-spaces-of-typescript-declarations/157-setting-up-types-for-node.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/157-types-that-ship-with-libraries.solution.ts rename to src/065-four-spaces-of-typescript-declarations/157-setting-up-types-for-node.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/158-modifying-window.problem.ts b/src/065-four-spaces-of-typescript-declarations/158-types-that-ship-with-libraries.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/158-modifying-window.problem.ts rename to src/065-four-spaces-of-typescript-declarations/158-types-that-ship-with-libraries.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/158-modifying-window.solution.ts b/src/065-four-spaces-of-typescript-declarations/158-types-that-ship-with-libraries.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/158-modifying-window.solution.ts rename to src/065-four-spaces-of-typescript-declarations/158-types-that-ship-with-libraries.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/159-modifying-globalthis.problem.ts b/src/065-four-spaces-of-typescript-declarations/159-modifying-window.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/159-modifying-globalthis.problem.ts rename to src/065-four-spaces-of-typescript-declarations/159-modifying-window.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/159-modifying-globalthis.solution.ts b/src/065-four-spaces-of-typescript-declarations/159-modifying-window.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/159-modifying-globalthis.solution.ts rename to src/065-four-spaces-of-typescript-declarations/159-modifying-window.solution.ts diff --git a/src/065-four-spaces-of-typescript-declarations/160-modifying-process-env.problem.ts b/src/065-four-spaces-of-typescript-declarations/160-modifying-globalthis.problem.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/160-modifying-process-env.problem.ts rename to src/065-four-spaces-of-typescript-declarations/160-modifying-globalthis.problem.ts diff --git a/src/065-four-spaces-of-typescript-declarations/160-modifying-process-env.solution.ts b/src/065-four-spaces-of-typescript-declarations/160-modifying-globalthis.solution.ts similarity index 100% rename from src/065-four-spaces-of-typescript-declarations/160-modifying-process-env.solution.ts rename to src/065-four-spaces-of-typescript-declarations/160-modifying-globalthis.solution.ts diff --git a/src/075-designing-your-types/161-domain-modelling-in-typescript.problem.ts b/src/065-four-spaces-of-typescript-declarations/161-modifying-process-env.problem.ts similarity index 100% rename from src/075-designing-your-types/161-domain-modelling-in-typescript.problem.ts rename to src/065-four-spaces-of-typescript-declarations/161-modifying-process-env.problem.ts diff --git a/src/075-designing-your-types/161-domain-modelling-in-typescript.solution.ts b/src/065-four-spaces-of-typescript-declarations/161-modifying-process-env.solution.ts similarity index 100% rename from src/075-designing-your-types/161-domain-modelling-in-typescript.solution.ts rename to src/065-four-spaces-of-typescript-declarations/161-modifying-process-env.solution.ts diff --git a/src/075-designing-your-types/162-intro-to-helper-types.problem.ts b/src/075-designing-your-types/162-domain-modelling-in-typescript.problem.ts similarity index 100% rename from src/075-designing-your-types/162-intro-to-helper-types.problem.ts rename to src/075-designing-your-types/162-domain-modelling-in-typescript.problem.ts diff --git a/src/075-designing-your-types/162-intro-to-helper-types.solution.ts b/src/075-designing-your-types/162-domain-modelling-in-typescript.solution.ts similarity index 100% rename from src/075-designing-your-types/162-intro-to-helper-types.solution.ts rename to src/075-designing-your-types/162-domain-modelling-in-typescript.solution.ts diff --git a/src/075-designing-your-types/163-multiple-type-parameters.problem.ts b/src/075-designing-your-types/163-intro-to-helper-types.problem.ts similarity index 100% rename from src/075-designing-your-types/163-multiple-type-parameters.problem.ts rename to src/075-designing-your-types/163-intro-to-helper-types.problem.ts diff --git a/src/075-designing-your-types/163-multiple-type-parameters.solution.ts b/src/075-designing-your-types/163-intro-to-helper-types.solution.ts similarity index 100% rename from src/075-designing-your-types/163-multiple-type-parameters.solution.ts rename to src/075-designing-your-types/163-intro-to-helper-types.solution.ts diff --git a/src/075-designing-your-types/164-default-type-parameters.problem.ts b/src/075-designing-your-types/164-multiple-type-parameters.problem.ts similarity index 100% rename from src/075-designing-your-types/164-default-type-parameters.problem.ts rename to src/075-designing-your-types/164-multiple-type-parameters.problem.ts diff --git a/src/075-designing-your-types/164-default-type-parameters.solution.ts b/src/075-designing-your-types/164-multiple-type-parameters.solution.ts similarity index 100% rename from src/075-designing-your-types/164-default-type-parameters.solution.ts rename to src/075-designing-your-types/164-multiple-type-parameters.solution.ts diff --git a/src/075-designing-your-types/165-type-helper-constraints.problem.ts b/src/075-designing-your-types/165-default-type-parameters.problem.ts similarity index 100% rename from src/075-designing-your-types/165-type-helper-constraints.problem.ts rename to src/075-designing-your-types/165-default-type-parameters.problem.ts diff --git a/src/075-designing-your-types/165-type-helper-constraints.solution.ts b/src/075-designing-your-types/165-default-type-parameters.solution.ts similarity index 100% rename from src/075-designing-your-types/165-type-helper-constraints.solution.ts rename to src/075-designing-your-types/165-default-type-parameters.solution.ts diff --git a/src/075-designing-your-types/166-tighter-version-of-omit.problem.ts b/src/075-designing-your-types/166-type-helper-constraints.problem.ts similarity index 100% rename from src/075-designing-your-types/166-tighter-version-of-omit.problem.ts rename to src/075-designing-your-types/166-type-helper-constraints.problem.ts diff --git a/src/075-designing-your-types/166-tighter-version-of-omit.solution.ts b/src/075-designing-your-types/166-type-helper-constraints.solution.ts similarity index 100% rename from src/075-designing-your-types/166-tighter-version-of-omit.solution.ts rename to src/075-designing-your-types/166-type-helper-constraints.solution.ts diff --git a/src/075-designing-your-types/167-template-literal-types.problem.ts b/src/075-designing-your-types/167-tighter-version-of-omit.problem.ts similarity index 100% rename from src/075-designing-your-types/167-template-literal-types.problem.ts rename to src/075-designing-your-types/167-tighter-version-of-omit.problem.ts diff --git a/src/075-designing-your-types/167-template-literal-types.solution.ts b/src/075-designing-your-types/167-tighter-version-of-omit.solution.ts similarity index 100% rename from src/075-designing-your-types/167-template-literal-types.solution.ts rename to src/075-designing-your-types/167-tighter-version-of-omit.solution.ts diff --git a/src/075-designing-your-types/168-passing-unions-to-template-literal-types.problem.ts b/src/075-designing-your-types/168-template-literal-types.problem.ts similarity index 100% rename from src/075-designing-your-types/168-passing-unions-to-template-literal-types.problem.ts rename to src/075-designing-your-types/168-template-literal-types.problem.ts diff --git a/src/075-designing-your-types/168-passing-unions-to-template-literal-types.solution.ts b/src/075-designing-your-types/168-template-literal-types.solution.ts similarity index 100% rename from src/075-designing-your-types/168-passing-unions-to-template-literal-types.solution.ts rename to src/075-designing-your-types/168-template-literal-types.solution.ts diff --git a/src/080-configuring-typescript/169-introduction-to-tsconfig.problem.ts b/src/075-designing-your-types/169-passing-unions-to-template-literal-types.problem.ts similarity index 100% rename from src/080-configuring-typescript/169-introduction-to-tsconfig.problem.ts rename to src/075-designing-your-types/169-passing-unions-to-template-literal-types.problem.ts diff --git a/src/080-configuring-typescript/169-introduction-to-tsconfig.solution.ts b/src/075-designing-your-types/169-passing-unions-to-template-literal-types.solution.ts similarity index 100% rename from src/080-configuring-typescript/169-introduction-to-tsconfig.solution.ts rename to src/075-designing-your-types/169-passing-unions-to-template-literal-types.solution.ts diff --git a/src/080-configuring-typescript/170-tsconfig-bases.problem.ts b/src/080-configuring-typescript/170-introduction-to-tsconfig.problem.ts similarity index 100% rename from src/080-configuring-typescript/170-tsconfig-bases.problem.ts rename to src/080-configuring-typescript/170-introduction-to-tsconfig.problem.ts diff --git a/src/080-configuring-typescript/170-tsconfig-bases.solution.ts b/src/080-configuring-typescript/170-introduction-to-tsconfig.solution.ts similarity index 100% rename from src/080-configuring-typescript/170-tsconfig-bases.solution.ts rename to src/080-configuring-typescript/170-introduction-to-tsconfig.solution.ts diff --git a/src/080-configuring-typescript/171-multiple-tsconfig-json-files.problem.ts b/src/080-configuring-typescript/171-tsconfig-bases.problem.ts similarity index 100% rename from src/080-configuring-typescript/171-multiple-tsconfig-json-files.problem.ts rename to src/080-configuring-typescript/171-tsconfig-bases.problem.ts diff --git a/src/080-configuring-typescript/171-multiple-tsconfig-json-files.solution.ts b/src/080-configuring-typescript/171-tsconfig-bases.solution.ts similarity index 100% rename from src/080-configuring-typescript/171-multiple-tsconfig-json-files.solution.ts rename to src/080-configuring-typescript/171-tsconfig-bases.solution.ts diff --git a/src/080-configuring-typescript/172-extending-from-other-tsconfig-json-files.problem.ts b/src/080-configuring-typescript/172-multiple-tsconfig-json-files.problem.ts similarity index 100% rename from src/080-configuring-typescript/172-extending-from-other-tsconfig-json-files.problem.ts rename to src/080-configuring-typescript/172-multiple-tsconfig-json-files.problem.ts diff --git a/src/080-configuring-typescript/172-extending-from-other-tsconfig-json-files.solution.ts b/src/080-configuring-typescript/172-multiple-tsconfig-json-files.solution.ts similarity index 100% rename from src/080-configuring-typescript/172-extending-from-other-tsconfig-json-files.solution.ts rename to src/080-configuring-typescript/172-multiple-tsconfig-json-files.solution.ts diff --git a/src/080-configuring-typescript/173-project-references.problem.ts b/src/080-configuring-typescript/173-extending-from-other-tsconfig-json-files.problem.ts similarity index 100% rename from src/080-configuring-typescript/173-project-references.problem.ts rename to src/080-configuring-typescript/173-extending-from-other-tsconfig-json-files.problem.ts diff --git a/src/080-configuring-typescript/173-project-references.solution.ts b/src/080-configuring-typescript/173-extending-from-other-tsconfig-json-files.solution.ts similarity index 100% rename from src/080-configuring-typescript/173-project-references.solution.ts rename to src/080-configuring-typescript/173-extending-from-other-tsconfig-json-files.solution.ts diff --git a/src/080-configuring-typescript/174-jsx.problem.ts b/src/080-configuring-typescript/174-project-references.problem.ts similarity index 100% rename from src/080-configuring-typescript/174-jsx.problem.ts rename to src/080-configuring-typescript/174-project-references.problem.ts diff --git a/src/080-configuring-typescript/174-jsx.solution.ts b/src/080-configuring-typescript/174-project-references.solution.ts similarity index 100% rename from src/080-configuring-typescript/174-jsx.solution.ts rename to src/080-configuring-typescript/174-project-references.solution.ts diff --git a/src/080-configuring-typescript/175-rules-that-make-up-strict-mode.problem.ts b/src/080-configuring-typescript/175-jsx.problem.ts similarity index 100% rename from src/080-configuring-typescript/175-rules-that-make-up-strict-mode.problem.ts rename to src/080-configuring-typescript/175-jsx.problem.ts diff --git a/src/080-configuring-typescript/175-rules-that-make-up-strict-mode.solution.ts b/src/080-configuring-typescript/175-jsx.solution.ts similarity index 100% rename from src/080-configuring-typescript/175-rules-that-make-up-strict-mode.solution.ts rename to src/080-configuring-typescript/175-jsx.solution.ts diff --git a/src/080-configuring-typescript/176-no-unchecked-indexed-access.problem.ts b/src/080-configuring-typescript/176-rules-that-make-up-strict-mode.problem.ts similarity index 100% rename from src/080-configuring-typescript/176-no-unchecked-indexed-access.problem.ts rename to src/080-configuring-typescript/176-rules-that-make-up-strict-mode.problem.ts diff --git a/src/080-configuring-typescript/176-no-unchecked-indexed-access.solution.ts b/src/080-configuring-typescript/176-rules-that-make-up-strict-mode.solution.ts similarity index 100% rename from src/080-configuring-typescript/176-no-unchecked-indexed-access.solution.ts rename to src/080-configuring-typescript/176-rules-that-make-up-strict-mode.solution.ts diff --git a/src/080-configuring-typescript/177-creating-declaration-files-and-declaration-maps.problem.ts b/src/080-configuring-typescript/177-no-unchecked-indexed-access.problem.ts similarity index 100% rename from src/080-configuring-typescript/177-creating-declaration-files-and-declaration-maps.problem.ts rename to src/080-configuring-typescript/177-no-unchecked-indexed-access.problem.ts diff --git a/src/080-configuring-typescript/177-creating-declaration-files-and-declaration-maps.solution.ts b/src/080-configuring-typescript/177-no-unchecked-indexed-access.solution.ts similarity index 100% rename from src/080-configuring-typescript/177-creating-declaration-files-and-declaration-maps.solution.ts rename to src/080-configuring-typescript/177-no-unchecked-indexed-access.solution.ts diff --git a/src/085-the-utils-folder/178-intro-to-the-utils-folder.problem.ts b/src/080-configuring-typescript/178-creating-declaration-files-and-declaration-maps.problem.ts similarity index 100% rename from src/085-the-utils-folder/178-intro-to-the-utils-folder.problem.ts rename to src/080-configuring-typescript/178-creating-declaration-files-and-declaration-maps.problem.ts diff --git a/src/085-the-utils-folder/178-intro-to-the-utils-folder.solution.ts b/src/080-configuring-typescript/178-creating-declaration-files-and-declaration-maps.solution.ts similarity index 100% rename from src/085-the-utils-folder/178-intro-to-the-utils-folder.solution.ts rename to src/080-configuring-typescript/178-creating-declaration-files-and-declaration-maps.solution.ts diff --git a/src/085-the-utils-folder/179-generic-functions-without-inference.problem.ts b/src/085-the-utils-folder/179-intro-to-the-utils-folder.problem.ts similarity index 100% rename from src/085-the-utils-folder/179-generic-functions-without-inference.problem.ts rename to src/085-the-utils-folder/179-intro-to-the-utils-folder.problem.ts diff --git a/src/085-the-utils-folder/179-generic-functions-without-inference.solution.ts b/src/085-the-utils-folder/179-intro-to-the-utils-folder.solution.ts similarity index 100% rename from src/085-the-utils-folder/179-generic-functions-without-inference.solution.ts rename to src/085-the-utils-folder/179-intro-to-the-utils-folder.solution.ts diff --git a/src/085-the-utils-folder/180-type-parameter-defaults-in-generic-functions.problem.ts b/src/085-the-utils-folder/180-generic-functions-without-inference.problem.ts similarity index 100% rename from src/085-the-utils-folder/180-type-parameter-defaults-in-generic-functions.problem.ts rename to src/085-the-utils-folder/180-generic-functions-without-inference.problem.ts diff --git a/src/085-the-utils-folder/180-type-parameter-defaults-in-generic-functions.solution.ts b/src/085-the-utils-folder/180-generic-functions-without-inference.solution.ts similarity index 100% rename from src/085-the-utils-folder/180-type-parameter-defaults-in-generic-functions.solution.ts rename to src/085-the-utils-folder/180-generic-functions-without-inference.solution.ts diff --git a/src/085-the-utils-folder/181-generic-functions-with-inference.problem.ts b/src/085-the-utils-folder/181-type-parameter-defaults-in-generic-functions.problem.ts similarity index 100% rename from src/085-the-utils-folder/181-generic-functions-with-inference.problem.ts rename to src/085-the-utils-folder/181-type-parameter-defaults-in-generic-functions.problem.ts diff --git a/src/085-the-utils-folder/181-generic-functions-with-inference.solution.ts b/src/085-the-utils-folder/181-type-parameter-defaults-in-generic-functions.solution.ts similarity index 100% rename from src/085-the-utils-folder/181-generic-functions-with-inference.solution.ts rename to src/085-the-utils-folder/181-type-parameter-defaults-in-generic-functions.solution.ts diff --git a/src/085-the-utils-folder/182-multiple-type-arguments.problem.ts b/src/085-the-utils-folder/182-generic-functions-with-inference.problem.ts similarity index 100% rename from src/085-the-utils-folder/182-multiple-type-arguments.problem.ts rename to src/085-the-utils-folder/182-generic-functions-with-inference.problem.ts diff --git a/src/085-the-utils-folder/182-multiple-type-arguments.solution.ts b/src/085-the-utils-folder/182-generic-functions-with-inference.solution.ts similarity index 100% rename from src/085-the-utils-folder/182-multiple-type-arguments.solution.ts rename to src/085-the-utils-folder/182-generic-functions-with-inference.solution.ts diff --git a/src/085-the-utils-folder/183-create-group-by-function.problem.ts b/src/085-the-utils-folder/183-multiple-type-arguments.problem.ts similarity index 100% rename from src/085-the-utils-folder/183-create-group-by-function.problem.ts rename to src/085-the-utils-folder/183-multiple-type-arguments.problem.ts diff --git a/src/085-the-utils-folder/183-create-group-by-function.solution.ts b/src/085-the-utils-folder/183-multiple-type-arguments.solution.ts similarity index 100% rename from src/085-the-utils-folder/183-create-group-by-function.solution.ts rename to src/085-the-utils-folder/183-multiple-type-arguments.solution.ts diff --git a/src/085-the-utils-folder/184-type-predicates.problem.ts b/src/085-the-utils-folder/184-create-group-by-function.problem.ts similarity index 100% rename from src/085-the-utils-folder/184-type-predicates.problem.ts rename to src/085-the-utils-folder/184-create-group-by-function.problem.ts diff --git a/src/085-the-utils-folder/184-type-predicates.solution.ts b/src/085-the-utils-folder/184-create-group-by-function.solution.ts similarity index 100% rename from src/085-the-utils-folder/184-type-predicates.solution.ts rename to src/085-the-utils-folder/184-create-group-by-function.solution.ts diff --git a/src/085-the-utils-folder/185-assertion-functions.problem.ts b/src/085-the-utils-folder/185-type-predicates.problem.ts similarity index 100% rename from src/085-the-utils-folder/185-assertion-functions.problem.ts rename to src/085-the-utils-folder/185-type-predicates.problem.ts diff --git a/src/085-the-utils-folder/185-assertion-functions.solution.ts b/src/085-the-utils-folder/185-type-predicates.solution.ts similarity index 100% rename from src/085-the-utils-folder/185-assertion-functions.solution.ts rename to src/085-the-utils-folder/185-type-predicates.solution.ts diff --git a/src/085-the-utils-folder/186-assertion-functions.problem.ts b/src/085-the-utils-folder/186-assertion-functions.problem.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/085-the-utils-folder/186-assertion-functions.solution.ts b/src/085-the-utils-folder/186-assertion-functions.solution.ts new file mode 100644 index 0000000..e69de29