summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNadrieril2019-03-15 12:48:11 +0100
committerNadrieril2019-03-15 12:48:11 +0100
commit199daae790b4447465b7739e6af8025f7276b59a (patch)
tree5b9d70aac72be92a63c89c7236aa2b289ca4c680
parentb302b14d445c1f1ee5dc65983c642bd46db1abfe (diff)
Rework test harness
-rw-r--r--dhall/tests/macros.rs84
-rw-r--r--dhall/tests/tests.rs1101
2 files changed, 594 insertions, 591 deletions
diff --git a/dhall/tests/macros.rs b/dhall/tests/macros.rs
index 4109f84..b67f720 100644
--- a/dhall/tests/macros.rs
+++ b/dhall/tests/macros.rs
@@ -1,6 +1,5 @@
use pretty_assertions::assert_eq as assert_eq_pretty;
-#[macro_export]
macro_rules! assert_eq_display {
($left:expr, $right:expr) => {{
match (&$left, &$right) {
@@ -19,40 +18,12 @@ right: `{}`"#,
}
#[macro_export]
-macro_rules! run_spec_test {
- (normalization, $path:expr) => {
- let base_path = concat!("../dhall-lang/tests/", $path);
- run_test(base_path, Feature::Normalization, ExpectedResult::Success);
- };
- (parser, $path:expr) => {
- let base_path = concat!("../dhall-lang/tests/", $path);
- run_test(base_path, Feature::Parser, ExpectedResult::Success);
- };
- (parser_failure, $path:expr) => {
- let base_path = concat!("../dhall-lang/tests/", $path);
- run_test(base_path, Feature::Parser, ExpectedResult::Failure);
- };
- (typecheck_success, $path:expr) => {
- let base_path = concat!("../dhall-lang/tests/", $path);
- run_test(base_path, Feature::Typecheck, ExpectedResult::Success);
- };
- (typecheck_failure, $path:expr) => {
- let base_path = concat!("../dhall-lang/tests/", $path);
- run_test(base_path, Feature::Typecheck, ExpectedResult::Failure);
- };
-}
-
-#[macro_export]
macro_rules! make_spec_test {
($type:ident, $name:ident, $path:expr) => {
#[test]
#[allow(non_snake_case)]
- #[allow(unused_variables)]
- #[allow(unused_imports)]
fn $name() {
use crate::macros::*;
- use dhall::*;
- use dhall_core::*;
use std::thread;
// The parser stack overflows even on small files
@@ -60,7 +31,7 @@ macro_rules! make_spec_test {
thread::Builder::new()
.stack_size(4 * 1024 * 1024)
.spawn(move || {
- run_spec_test!($type, $path);
+ run_test($path, Feature::$type);
})
.unwrap()
.join()
@@ -74,26 +45,32 @@ use dhall_core::*;
use std::path::PathBuf;
pub enum Feature {
- Parser,
+ ParserSuccess,
+ ParserFailure,
Normalization,
- Typecheck,
-}
-
-pub enum ExpectedResult {
- Success,
- Failure,
+ TypecheckSuccess,
+ TypecheckFailure,
}
pub fn read_dhall_file<'i>(file_path: &str) -> Result<Expr<X, X>, DhallError> {
load_dhall_file(&PathBuf::from(file_path), true)
}
-pub fn run_test(base_path: &str, feature: Feature, expected: ExpectedResult) {
- use self::{ExpectedResult, Feature};
- match (feature, expected) {
- (Feature::Parser, ExpectedResult::Success) => {
- let expr_file_path = base_path.to_owned() + "A.dhall";
- let expected_file_path = base_path.to_owned() + "B.dhallb";
+pub fn run_test(base_path: &str, feature: Feature) {
+ use self::Feature::*;
+ let base_path_prefix = match feature {
+ ParserSuccess => "parser/success/",
+ ParserFailure => "parser/failure/",
+ Normalization => "normalization/success/",
+ TypecheckSuccess => "typecheck/success/",
+ TypecheckFailure => "typecheck/failure/",
+ };
+ let base_path =
+ "../dhall-lang/tests/".to_owned() + base_path_prefix + base_path;
+ match feature {
+ ParserSuccess => {
+ let expr_file_path = base_path.clone() + "A.dhall";
+ let expected_file_path = base_path + "B.dhallb";
let expr = read_dhall_file(&expr_file_path)
.map_err(|e| println!("{}", e))
.unwrap();
@@ -108,17 +85,17 @@ pub fn run_test(base_path: &str, feature: Feature, expected: ExpectedResult) {
assert_eq_pretty!(expr, expected);
}
- (Feature::Parser, ExpectedResult::Failure) => {
- let file_path = base_path.to_owned() + ".dhall";
+ ParserFailure => {
+ let file_path = base_path + ".dhall";
let err = read_dhall_file(&file_path).unwrap_err();
match err {
DhallError::ParseError(_) => {}
e => panic!("Expected parse error, got: {:?}", e),
}
}
- (Feature::Normalization, ExpectedResult::Success) => {
- let expr_file_path = base_path.to_owned() + "A.dhall";
- let expected_file_path = base_path.to_owned() + "B.dhall";
+ Normalization => {
+ let expr_file_path = base_path.clone() + "A.dhall";
+ let expected_file_path = base_path + "B.dhall";
let expr = read_dhall_file(&expr_file_path).unwrap();
let expected = read_dhall_file(&expected_file_path).unwrap();
@@ -127,18 +104,17 @@ pub fn run_test(base_path: &str, feature: Feature, expected: ExpectedResult) {
normalize::<_, X, _>(&expected)
);
}
- (Feature::Typecheck, ExpectedResult::Failure) => {
- let file_path = base_path.to_owned() + ".dhall";
+ TypecheckFailure => {
+ let file_path = base_path + ".dhall";
let expr = read_dhall_file(&file_path).unwrap();
typecheck::type_of(&expr).unwrap_err();
}
- (Feature::Typecheck, ExpectedResult::Success) => {
- let expr_file_path = base_path.to_owned() + "A.dhall";
- let expected_file_path = base_path.to_owned() + "B.dhall";
+ TypecheckSuccess => {
+ let expr_file_path = base_path.clone() + "A.dhall";
+ let expected_file_path = base_path + "B.dhall";
let expr = read_dhall_file(&expr_file_path).unwrap();
let expected = read_dhall_file(&expected_file_path).unwrap();
typecheck::type_of(&Expr::Annot(bx(expr), bx(expected))).unwrap();
}
- _ => unimplemented!(),
}
}
diff --git a/dhall/tests/tests.rs b/dhall/tests/tests.rs
index c7de4bf..f431341 100644
--- a/dhall/tests/tests.rs
+++ b/dhall/tests/tests.rs
@@ -2,554 +2,581 @@
#![rustfmt::skip]
mod macros;
-make_spec_test!(normalization, spec_normalization_success_haskell_tutorial_access_0, "normalization/success/haskell-tutorial/access/0");
-// make_spec_test!(normalization, spec_normalization_success_haskell_tutorial_access_1, "normalization/success/haskell-tutorial/access/1");
-// make_spec_test!(normalization, spec_normalization_success_haskell_tutorial_combineTypes_0, "normalization/success/haskell-tutorial/combineTypes/0");
-// make_spec_test!(normalization, spec_normalization_success_haskell_tutorial_combineTypes_1, "normalization/success/haskell-tutorial/combineTypes/1");
-// make_spec_test!(normalization, spec_normalization_success_haskell_tutorial_prefer_0, "normalization/success/haskell-tutorial/prefer/0");
-// make_spec_test!(normalization, spec_normalization_success_haskell_tutorial_projection_0, "normalization/success/haskell-tutorial/projection/0");
-// make_spec_test!(normalization, spec_normalization_success_multiline_escape, "normalization/success/multiline/escape");
-// make_spec_test!(normalization, spec_normalization_success_multiline_hangingIndent, "normalization/success/multiline/hangingIndent");
-// make_spec_test!(normalization, spec_normalization_success_multiline_interesting, "normalization/success/multiline/interesting");
-// make_spec_test!(normalization, spec_normalization_success_multiline_interiorIndent, "normalization/success/multiline/interiorIndent");
-// make_spec_test!(normalization, spec_normalization_success_multiline_interpolation, "normalization/success/multiline/interpolation");
-// make_spec_test!(normalization, spec_normalization_success_multiline_preserveComment, "normalization/success/multiline/preserveComment");
-// make_spec_test!(normalization, spec_normalization_success_multiline_singleLine, "normalization/success/multiline/singleLine");
-// make_spec_test!(normalization, spec_normalization_success_multiline_twoLines, "normalization/success/multiline/twoLines");
+macro_rules! parser_success {
+ ($name:ident, $path:expr) => {
+ make_spec_test!(ParserSuccess, $name, $path);
+ };
+}
+macro_rules! parser_failure {
+ ($name:ident, $path:expr) => {
+ make_spec_test!(ParserFailure, $name, $path);
+ };
+}
+macro_rules! norm {
+ ($name:ident, $path:expr) => {
+ make_spec_test!(Normalization, $name, $path);
+ };
+}
+macro_rules! tc_success {
+ ($name:ident, $path:expr) => {
+ make_spec_test!(TypecheckSuccess, $name, $path);
+ };
+}
+macro_rules! tc_failure {
+ ($name:ident, $path:expr) => {
+ make_spec_test!(TypecheckFailure, $name, $path);
+ };
+}
+norm!(spec_normalization_success_haskell_tutorial_access_0, "haskell-tutorial/access/0");
+// norm!(spec_normalization_success_haskell_tutorial_access_1, "haskell-tutorial/access/1");
+// norm!(spec_normalization_success_haskell_tutorial_combineTypes_0, "haskell-tutorial/combineTypes/0");
+// norm!(spec_normalization_success_haskell_tutorial_combineTypes_1, "haskell-tutorial/combineTypes/1");
+// norm!(spec_normalization_success_haskell_tutorial_prefer_0, "haskell-tutorial/prefer/0");
+// norm!(spec_normalization_success_haskell_tutorial_projection_0, "haskell-tutorial/projection/0");
+// norm!(spec_normalization_success_multiline_escape, "multiline/escape");
+// norm!(spec_normalization_success_multiline_hangingIndent, "multiline/hangingIndent");
+// norm!(spec_normalization_success_multiline_interesting, "multiline/interesting");
+// norm!(spec_normalization_success_multiline_interiorIndent, "multiline/interiorIndent");
+// norm!(spec_normalization_success_multiline_interpolation, "multiline/interpolation");
+// norm!(spec_normalization_success_multiline_preserveComment, "multiline/preserveComment");
+// norm!(spec_normalization_success_multiline_singleLine, "multiline/singleLine");
+// norm!(spec_normalization_success_multiline_twoLines, "multiline/twoLines");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_and_0, "normalization/success/prelude/Bool/and/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_and_1, "normalization/success/prelude/Bool/and/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_build_0, "normalization/success/prelude/Bool/build/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_build_1, "normalization/success/prelude/Bool/build/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_even_0, "normalization/success/prelude/Bool/even/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_even_1, "normalization/success/prelude/Bool/even/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_even_2, "normalization/success/prelude/Bool/even/2");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_even_3, "normalization/success/prelude/Bool/even/3");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_fold_0, "normalization/success/prelude/Bool/fold/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_fold_1, "normalization/success/prelude/Bool/fold/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_not_0, "normalization/success/prelude/Bool/not/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_not_1, "normalization/success/prelude/Bool/not/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_odd_0, "normalization/success/prelude/Bool/odd/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_odd_1, "normalization/success/prelude/Bool/odd/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_odd_2, "normalization/success/prelude/Bool/odd/2");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_odd_3, "normalization/success/prelude/Bool/odd/3");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_or_0, "normalization/success/prelude/Bool/or/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_or_1, "normalization/success/prelude/Bool/or/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_show_0, "normalization/success/prelude/Bool/show/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Bool_show_1, "normalization/success/prelude/Bool/show/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Double_show_0, "normalization/success/prelude/Double/show/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Double_show_1, "normalization/success/prelude/Double/show/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Integer_show_0, "normalization/success/prelude/Integer/show/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Integer_show_1, "normalization/success/prelude/Integer/show/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Integer_toDouble_0, "normalization/success/prelude/Integer/toDouble/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Integer_toDouble_1, "normalization/success/prelude/Integer/toDouble/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_all_0, "normalization/success/prelude/List/all/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_all_1, "normalization/success/prelude/List/all/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_any_0, "normalization/success/prelude/List/any/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_any_1, "normalization/success/prelude/List/any/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_build_0, "normalization/success/prelude/List/build/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_build_1, "normalization/success/prelude/List/build/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_concat_0, "normalization/success/prelude/List/concat/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_concat_1, "normalization/success/prelude/List/concat/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_concatMap_0, "normalization/success/prelude/List/concatMap/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_concatMap_1, "normalization/success/prelude/List/concatMap/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_filter_0, "normalization/success/prelude/List/filter/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_filter_1, "normalization/success/prelude/List/filter/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_fold_0, "normalization/success/prelude/List/fold/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_fold_1, "normalization/success/prelude/List/fold/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_fold_2, "normalization/success/prelude/List/fold/2");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_generate_0, "normalization/success/prelude/List/generate/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_generate_1, "normalization/success/prelude/List/generate/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_head_0, "normalization/success/prelude/List/head/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_head_1, "normalization/success/prelude/List/head/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_indexed_0, "normalization/success/prelude/List/indexed/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_indexed_1, "normalization/success/prelude/List/indexed/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_iterate_0, "normalization/success/prelude/List/iterate/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_iterate_1, "normalization/success/prelude/List/iterate/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_last_0, "normalization/success/prelude/List/last/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_last_1, "normalization/success/prelude/List/last/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_length_0, "normalization/success/prelude/List/length/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_length_1, "normalization/success/prelude/List/length/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_map_0, "normalization/success/prelude/List/map/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_map_1, "normalization/success/prelude/List/map/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_null_0, "normalization/success/prelude/List/null/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_null_1, "normalization/success/prelude/List/null/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_replicate_0, "normalization/success/prelude/List/replicate/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_List_replicate_1, "normalization/success/prelude/List/replicate/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_reverse_0, "normalization/success/prelude/List/reverse/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_reverse_1, "normalization/success/prelude/List/reverse/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_shifted_0, "normalization/success/prelude/List/shifted/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_shifted_1, "normalization/success/prelude/List/shifted/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_unzip_0, "normalization/success/prelude/List/unzip/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_List_unzip_1, "normalization/success/prelude/List/unzip/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_build_0, "normalization/success/prelude/Natural/build/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_build_1, "normalization/success/prelude/Natural/build/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_enumerate_0, "normalization/success/prelude/Natural/enumerate/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_enumerate_1, "normalization/success/prelude/Natural/enumerate/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_even_0, "normalization/success/prelude/Natural/even/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_even_1, "normalization/success/prelude/Natural/even/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_fold_0, "normalization/success/prelude/Natural/fold/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_fold_1, "normalization/success/prelude/Natural/fold/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_fold_2, "normalization/success/prelude/Natural/fold/2");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_isZero_0, "normalization/success/prelude/Natural/isZero/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_isZero_1, "normalization/success/prelude/Natural/isZero/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_odd_0, "normalization/success/prelude/Natural/odd/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_odd_1, "normalization/success/prelude/Natural/odd/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_product_0, "normalization/success/prelude/Natural/product/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_product_1, "normalization/success/prelude/Natural/product/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_show_0, "normalization/success/prelude/Natural/show/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_show_1, "normalization/success/prelude/Natural/show/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_sum_0, "normalization/success/prelude/Natural/sum/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_sum_1, "normalization/success/prelude/Natural/sum/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_toDouble_0, "normalization/success/prelude/Natural/toDouble/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Natural_toDouble_1, "normalization/success/prelude/Natural/toDouble/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_toInteger_0, "normalization/success/prelude/Natural/toInteger/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Natural_toInteger_1, "normalization/success/prelude/Natural/toInteger/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_all_0, "normalization/success/prelude/Optional/all/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_all_1, "normalization/success/prelude/Optional/all/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_any_0, "normalization/success/prelude/Optional/any/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_any_1, "normalization/success/prelude/Optional/any/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_build_0, "normalization/success/prelude/Optional/build/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_build_1, "normalization/success/prelude/Optional/build/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_concat_0, "normalization/success/prelude/Optional/concat/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_concat_1, "normalization/success/prelude/Optional/concat/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_concat_2, "normalization/success/prelude/Optional/concat/2");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_filter_0, "normalization/success/prelude/Optional/filter/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_filter_1, "normalization/success/prelude/Optional/filter/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_fold_0, "normalization/success/prelude/Optional/fold/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_fold_1, "normalization/success/prelude/Optional/fold/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_head_0, "normalization/success/prelude/Optional/head/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_head_1, "normalization/success/prelude/Optional/head/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_head_2, "normalization/success/prelude/Optional/head/2");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_last_0, "normalization/success/prelude/Optional/last/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_last_1, "normalization/success/prelude/Optional/last/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_last_2, "normalization/success/prelude/Optional/last/2");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_length_0, "normalization/success/prelude/Optional/length/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_length_1, "normalization/success/prelude/Optional/length/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_map_0, "normalization/success/prelude/Optional/map/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_map_1, "normalization/success/prelude/Optional/map/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_null_0, "normalization/success/prelude/Optional/null/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_null_1, "normalization/success/prelude/Optional/null/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_toList_0, "normalization/success/prelude/Optional/toList/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_toList_1, "normalization/success/prelude/Optional/toList/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_unzip_0, "normalization/success/prelude/Optional/unzip/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Optional_unzip_1, "normalization/success/prelude/Optional/unzip/1");
-make_spec_test!(normalization, spec_normalization_success_prelude_Text_concat_0, "normalization/success/prelude/Text/concat/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Text_concat_1, "normalization/success/prelude/Text/concat/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Text_concatMap_0, "normalization/success/prelude/Text/concatMap/0");
-make_spec_test!(normalization, spec_normalization_success_prelude_Text_concatMap_1, "normalization/success/prelude/Text/concatMap/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Text_concatMapSep_0, "normalization/success/prelude/Text/concatMapSep/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Text_concatMapSep_1, "normalization/success/prelude/Text/concatMapSep/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Text_concatSep_0, "normalization/success/prelude/Text/concatSep/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Text_concatSep_1, "normalization/success/prelude/Text/concatSep/1");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Text_show_0, "normalization/success/prelude/Text/show/0");
-// make_spec_test!(normalization, spec_normalization_success_prelude_Text_show_1, "normalization/success/prelude/Text/show/1");
+norm!(spec_normalization_success_prelude_Bool_and_0, "prelude/Bool/and/0");
+norm!(spec_normalization_success_prelude_Bool_and_1, "prelude/Bool/and/1");
+norm!(spec_normalization_success_prelude_Bool_build_0, "prelude/Bool/build/0");
+norm!(spec_normalization_success_prelude_Bool_build_1, "prelude/Bool/build/1");
+norm!(spec_normalization_success_prelude_Bool_even_0, "prelude/Bool/even/0");
+norm!(spec_normalization_success_prelude_Bool_even_1, "prelude/Bool/even/1");
+norm!(spec_normalization_success_prelude_Bool_even_2, "prelude/Bool/even/2");
+norm!(spec_normalization_success_prelude_Bool_even_3, "prelude/Bool/even/3");
+norm!(spec_normalization_success_prelude_Bool_fold_0, "prelude/Bool/fold/0");
+norm!(spec_normalization_success_prelude_Bool_fold_1, "prelude/Bool/fold/1");
+norm!(spec_normalization_success_prelude_Bool_not_0, "prelude/Bool/not/0");
+norm!(spec_normalization_success_prelude_Bool_not_1, "prelude/Bool/not/1");
+norm!(spec_normalization_success_prelude_Bool_odd_0, "prelude/Bool/odd/0");
+norm!(spec_normalization_success_prelude_Bool_odd_1, "prelude/Bool/odd/1");
+norm!(spec_normalization_success_prelude_Bool_odd_2, "prelude/Bool/odd/2");
+norm!(spec_normalization_success_prelude_Bool_odd_3, "prelude/Bool/odd/3");
+norm!(spec_normalization_success_prelude_Bool_or_0, "prelude/Bool/or/0");
+norm!(spec_normalization_success_prelude_Bool_or_1, "prelude/Bool/or/1");
+norm!(spec_normalization_success_prelude_Bool_show_0, "prelude/Bool/show/0");
+norm!(spec_normalization_success_prelude_Bool_show_1, "prelude/Bool/show/1");
+// norm!(spec_normalization_success_prelude_Double_show_0, "prelude/Double/show/0");
+// norm!(spec_normalization_success_prelude_Double_show_1, "prelude/Double/show/1");
+// norm!(spec_normalization_success_prelude_Integer_show_0, "prelude/Integer/show/0");
+// norm!(spec_normalization_success_prelude_Integer_show_1, "prelude/Integer/show/1");
+// norm!(spec_normalization_success_prelude_Integer_toDouble_0, "prelude/Integer/toDouble/0");
+// norm!(spec_normalization_success_prelude_Integer_toDouble_1, "prelude/Integer/toDouble/1");
+norm!(spec_normalization_success_prelude_List_all_0, "prelude/List/all/0");
+norm!(spec_normalization_success_prelude_List_all_1, "prelude/List/all/1");
+norm!(spec_normalization_success_prelude_List_any_0, "prelude/List/any/0");
+norm!(spec_normalization_success_prelude_List_any_1, "prelude/List/any/1");
+norm!(spec_normalization_success_prelude_List_build_0, "prelude/List/build/0");
+norm!(spec_normalization_success_prelude_List_build_1, "prelude/List/build/1");
+norm!(spec_normalization_success_prelude_List_concat_0, "prelude/List/concat/0");
+norm!(spec_normalization_success_prelude_List_concat_1, "prelude/List/concat/1");
+norm!(spec_normalization_success_prelude_List_concatMap_0, "prelude/List/concatMap/0");
+norm!(spec_normalization_success_prelude_List_concatMap_1, "prelude/List/concatMap/1");
+norm!(spec_normalization_success_prelude_List_filter_0, "prelude/List/filter/0");
+norm!(spec_normalization_success_prelude_List_filter_1, "prelude/List/filter/1");
+norm!(spec_normalization_success_prelude_List_fold_0, "prelude/List/fold/0");
+norm!(spec_normalization_success_prelude_List_fold_1, "prelude/List/fold/1");
+norm!(spec_normalization_success_prelude_List_fold_2, "prelude/List/fold/2");
+// norm!(spec_normalization_success_prelude_List_generate_0, "prelude/List/generate/0");
+// norm!(spec_normalization_success_prelude_List_generate_1, "prelude/List/generate/1");
+norm!(spec_normalization_success_prelude_List_head_0, "prelude/List/head/0");
+norm!(spec_normalization_success_prelude_List_head_1, "prelude/List/head/1");
+// norm!(spec_normalization_success_prelude_List_indexed_0, "prelude/List/indexed/0");
+// norm!(spec_normalization_success_prelude_List_indexed_1, "prelude/List/indexed/1");
+// norm!(spec_normalization_success_prelude_List_iterate_0, "prelude/List/iterate/0");
+// norm!(spec_normalization_success_prelude_List_iterate_1, "prelude/List/iterate/1");
+norm!(spec_normalization_success_prelude_List_last_0, "prelude/List/last/0");
+norm!(spec_normalization_success_prelude_List_last_1, "prelude/List/last/1");
+norm!(spec_normalization_success_prelude_List_length_0, "prelude/List/length/0");
+norm!(spec_normalization_success_prelude_List_length_1, "prelude/List/length/1");
+norm!(spec_normalization_success_prelude_List_map_0, "prelude/List/map/0");
+norm!(spec_normalization_success_prelude_List_map_1, "prelude/List/map/1");
+norm!(spec_normalization_success_prelude_List_null_0, "prelude/List/null/0");
+norm!(spec_normalization_success_prelude_List_null_1, "prelude/List/null/1");
+// norm!(spec_normalization_success_prelude_List_replicate_0, "prelude/List/replicate/0");
+// norm!(spec_normalization_success_prelude_List_replicate_1, "prelude/List/replicate/1");
+norm!(spec_normalization_success_prelude_List_reverse_0, "prelude/List/reverse/0");
+norm!(spec_normalization_success_prelude_List_reverse_1, "prelude/List/reverse/1");
+norm!(spec_normalization_success_prelude_List_shifted_0, "prelude/List/shifted/0");
+norm!(spec_normalization_success_prelude_List_shifted_1, "prelude/List/shifted/1");
+norm!(spec_normalization_success_prelude_List_unzip_0, "prelude/List/unzip/0");
+norm!(spec_normalization_success_prelude_List_unzip_1, "prelude/List/unzip/1");
+// norm!(spec_normalization_success_prelude_Natural_build_0, "prelude/Natural/build/0");
+// norm!(spec_normalization_success_prelude_Natural_build_1, "prelude/Natural/build/1");
+// norm!(spec_normalization_success_prelude_Natural_enumerate_0, "prelude/Natural/enumerate/0");
+// norm!(spec_normalization_success_prelude_Natural_enumerate_1, "prelude/Natural/enumerate/1");
+norm!(spec_normalization_success_prelude_Natural_even_0, "prelude/Natural/even/0");
+norm!(spec_normalization_success_prelude_Natural_even_1, "prelude/Natural/even/1");
+// norm!(spec_normalization_success_prelude_Natural_fold_0, "prelude/Natural/fold/0");
+// norm!(spec_normalization_success_prelude_Natural_fold_1, "prelude/Natural/fold/1");
+// norm!(spec_normalization_success_prelude_Natural_fold_2, "prelude/Natural/fold/2");
+norm!(spec_normalization_success_prelude_Natural_isZero_0, "prelude/Natural/isZero/0");
+norm!(spec_normalization_success_prelude_Natural_isZero_1, "prelude/Natural/isZero/1");
+norm!(spec_normalization_success_prelude_Natural_odd_0, "prelude/Natural/odd/0");
+norm!(spec_normalization_success_prelude_Natural_odd_1, "prelude/Natural/odd/1");
+norm!(spec_normalization_success_prelude_Natural_product_0, "prelude/Natural/product/0");
+norm!(spec_normalization_success_prelude_Natural_product_1, "prelude/Natural/product/1");
+norm!(spec_normalization_success_prelude_Natural_show_0, "prelude/Natural/show/0");
+norm!(spec_normalization_success_prelude_Natural_show_1, "prelude/Natural/show/1");
+norm!(spec_normalization_success_prelude_Natural_sum_0, "prelude/Natural/sum/0");
+norm!(spec_normalization_success_prelude_Natural_sum_1, "prelude/Natural/sum/1");
+// norm!(spec_normalization_success_prelude_Natural_toDouble_0, "prelude/Natural/toDouble/0");
+// norm!(spec_normalization_success_prelude_Natural_toDouble_1, "prelude/Natural/toDouble/1");
+norm!(spec_normalization_success_prelude_Natural_toInteger_0, "prelude/Natural/toInteger/0");
+norm!(spec_normalization_success_prelude_Natural_toInteger_1, "prelude/Natural/toInteger/1");
+norm!(spec_normalization_success_prelude_Optional_all_0, "prelude/Optional/all/0");
+norm!(spec_normalization_success_prelude_Optional_all_1, "prelude/Optional/all/1");
+norm!(spec_normalization_success_prelude_Optional_any_0, "prelude/Optional/any/0");
+norm!(spec_normalization_success_prelude_Optional_any_1, "prelude/Optional/any/1");
+norm!(spec_normalization_success_prelude_Optional_build_0, "prelude/Optional/build/0");
+norm!(spec_normalization_success_prelude_Optional_build_1, "prelude/Optional/build/1");
+norm!(spec_normalization_success_prelude_Optional_concat_0, "prelude/Optional/concat/0");
+norm!(spec_normalization_success_prelude_Optional_concat_1, "prelude/Optional/concat/1");
+norm!(spec_normalization_success_prelude_Optional_concat_2, "prelude/Optional/concat/2");
+norm!(spec_normalization_success_prelude_Optional_filter_0, "prelude/Optional/filter/0");
+norm!(spec_normalization_success_prelude_Optional_filter_1, "prelude/Optional/filter/1");
+norm!(spec_normalization_success_prelude_Optional_fold_0, "prelude/Optional/fold/0");
+norm!(spec_normalization_success_prelude_Optional_fold_1, "prelude/Optional/fold/1");
+norm!(spec_normalization_success_prelude_Optional_head_0, "prelude/Optional/head/0");
+norm!(spec_normalization_success_prelude_Optional_head_1, "prelude/Optional/head/1");
+norm!(spec_normalization_success_prelude_Optional_head_2, "prelude/Optional/head/2");
+norm!(spec_normalization_success_prelude_Optional_last_0, "prelude/Optional/last/0");
+norm!(spec_normalization_success_prelude_Optional_last_1, "prelude/Optional/last/1");
+norm!(spec_normalization_success_prelude_Optional_last_2, "prelude/Optional/last/2");
+norm!(spec_normalization_success_prelude_Optional_length_0, "prelude/Optional/length/0");
+norm!(spec_normalization_success_prelude_Optional_length_1, "prelude/Optional/length/1");
+norm!(spec_normalization_success_prelude_Optional_map_0, "prelude/Optional/map/0");
+norm!(spec_normalization_success_prelude_Optional_map_1, "prelude/Optional/map/1");
+norm!(spec_normalization_success_prelude_Optional_null_0, "prelude/Optional/null/0");
+norm!(spec_normalization_success_prelude_Optional_null_1, "prelude/Optional/null/1");
+norm!(spec_normalization_success_prelude_Optional_toList_0, "prelude/Optional/toList/0");
+norm!(spec_normalization_success_prelude_Optional_toList_1, "prelude/Optional/toList/1");
+norm!(spec_normalization_success_prelude_Optional_unzip_0, "prelude/Optional/unzip/0");
+norm!(spec_normalization_success_prelude_Optional_unzip_1, "prelude/Optional/unzip/1");
+norm!(spec_normalization_success_prelude_Text_concat_0, "prelude/Text/concat/0");
+norm!(spec_normalization_success_prelude_Text_concat_1, "prelude/Text/concat/1");
+// norm!(spec_normalization_success_prelude_Text_concatMap_0, "prelude/Text/concatMap/0");
+norm!(spec_normalization_success_prelude_Text_concatMap_1, "prelude/Text/concatMap/1");
+// norm!(spec_normalization_success_prelude_Text_concatMapSep_0, "prelude/Text/concatMapSep/0");
+// norm!(spec_normalization_success_prelude_Text_concatMapSep_1, "prelude/Text/concatMapSep/1");
+// norm!(spec_normalization_success_prelude_Text_concatSep_0, "prelude/Text/concatSep/0");
+// norm!(spec_normalization_success_prelude_Text_concatSep_1, "prelude/Text/concatSep/1");
+// norm!(spec_normalization_success_prelude_Text_show_0, "prelude/Text/show/0");
+// norm!(spec_normalization_success_prelude_Text_show_1, "prelude/Text/show/1");
-// make_spec_test!(normalization, spec_normalization_success_remoteSystems, "normalization/success/remoteSystems");
-// make_spec_test!(normalization, spec_normalization_success_simple_doubleShow, "normalization/success/simple/doubleShow");
-// make_spec_test!(normalization, spec_normalization_success_simple_integerShow, "normalization/success/simple/integerShow");
-// make_spec_test!(normalization, spec_normalization_success_simple_integerToDouble, "normalization/success/simple/integerToDouble");
-// make_spec_test!(normalization, spec_normalization_success_simple_letlet, "normalization/success/simple/letlet");
-make_spec_test!(normalization, spec_normalization_success_simple_listBuild, "normalization/success/simple/listBuild");
-make_spec_test!(normalization, spec_normalization_success_simple_multiLine, "normalization/success/simple/multiLine");
-// make_spec_test!(normalization, spec_normalization_success_simple_naturalBuild, "normalization/success/simple/naturalBuild");
-make_spec_test!(normalization, spec_normalization_success_simple_naturalPlus, "normalization/success/simple/naturalPlus");
-make_spec_test!(normalization, spec_normalization_success_simple_naturalShow, "normalization/success/simple/naturalShow");
-make_spec_test!(normalization, spec_normalization_success_simple_naturalToInteger, "normalization/success/simple/naturalToInteger");
-make_spec_test!(normalization, spec_normalization_success_simple_optionalBuild, "normalization/success/simple/optionalBuild");
-make_spec_test!(normalization, spec_normalization_success_simple_optionalBuildFold, "normalization/success/simple/optionalBuildFold");
-make_spec_test!(normalization, spec_normalization_success_simple_optionalFold, "normalization/success/simple/optionalFold");
-// make_spec_test!(normalization, spec_normalization_success_simple_sortOperator, "normalization/success/simple/sortOperator");
-// make_spec_test!(normalization, spec_normalization_success_simplifications_and, "normalization/success/simplifications/and");
-// make_spec_test!(normalization, spec_normalization_success_simplifications_eq, "normalization/success/simplifications/eq");
-// make_spec_test!(normalization, spec_normalization_success_simplifications_ifThenElse, "normalization/success/simplifications/ifThenElse");
-// make_spec_test!(normalization, spec_normalization_success_simplifications_ne, "normalization/success/simplifications/ne");
-// make_spec_test!(normalization, spec_normalization_success_simplifications_or, "normalization/success/simplifications/or");
+// norm!(spec_normalization_success_remoteSystems, "remoteSystems");
+// norm!(spec_normalization_success_simple_doubleShow, "simple/doubleShow");
+// norm!(spec_normalization_success_simple_integerShow, "simple/integerShow");
+// norm!(spec_normalization_success_simple_integerToDouble, "simple/integerToDouble");
+// norm!(spec_normalization_success_simple_letlet, "simple/letlet");
+norm!(spec_normalization_success_simple_listBuild, "simple/listBuild");
+norm!(spec_normalization_success_simple_multiLine, "simple/multiLine");
+// norm!(spec_normalization_success_simple_naturalBuild, "simple/naturalBuild");
+norm!(spec_normalization_success_simple_naturalPlus, "simple/naturalPlus");
+norm!(spec_normalization_success_simple_naturalShow, "simple/naturalShow");
+norm!(spec_normalization_success_simple_naturalToInteger, "simple/naturalToInteger");
+norm!(spec_normalization_success_simple_optionalBuild, "simple/optionalBuild");
+norm!(spec_normalization_success_simple_optionalBuildFold, "simple/optionalBuildFold");
+norm!(spec_normalization_success_simple_optionalFold, "simple/optionalFold");
+// norm!(spec_normalization_success_simple_sortOperator, "simple/sortOperator");
+// norm!(spec_normalization_success_simplifications_and, "simplifications/and");
+// norm!(spec_normalization_success_simplifications_eq, "simplifications/eq");
+// norm!(spec_normalization_success_simplifications_ifThenElse, "simplifications/ifThenElse");
+// norm!(spec_normalization_success_simplifications_ne, "simplifications/ne");
+// norm!(spec_normalization_success_simplifications_or, "simplifications/or");
-make_spec_test!(normalization, spec_normalization_success_unit_Bool, "normalization/success/unit/Bool");
-make_spec_test!(normalization, spec_normalization_success_unit_Double, "normalization/success/unit/Double");
-make_spec_test!(normalization, spec_normalization_success_unit_DoubleLiteral, "normalization/success/unit/DoubleLiteral");
-make_spec_test!(normalization, spec_normalization_success_unit_DoubleShow, "normalization/success/unit/DoubleShow");
-// make_spec_test!(normalization, spec_normalization_success_unit_DoubleShowValue, "normalization/success/unit/DoubleShowValue");
-make_spec_test!(normalization, spec_normalization_success_unit_FunctionApplicationCapture, "normalization/success/unit/FunctionApplicationCapture");
-make_spec_test!(normalization, spec_normalization_success_unit_FunctionApplicationNoSubstitute, "normalization/success/unit/FunctionApplicationNoSubstitute");
-make_spec_test!(normalization, spec_normalization_success_unit_FunctionApplicationNormalizeArguments, "normalization/success/unit/FunctionApplicationNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_FunctionApplicationSubstitute, "normalization/success/unit/FunctionApplicationSubstitute");
-make_spec_test!(normalization, spec_normalization_success_unit_FunctionNormalizeArguments, "normalization/success/unit/FunctionNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_FunctionTypeNormalizeArguments, "normalization/success/unit/FunctionTypeNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_IfAlternativesIdentical, "normalization/success/unit/IfAlternativesIdentical");
-make_spec_test!(normalization, spec_normalization_success_unit_IfFalse, "normalization/success/unit/IfFalse");
-make_spec_test!(normalization, spec_normalization_success_unit_IfNormalizePredicateAndBranches, "normalization/success/unit/IfNormalizePredicateAndBranches");
-// make_spec_test!(normalization, spec_normalization_success_unit_IfTrivial, "normalization/success/unit/IfTrivial");
-make_spec_test!(normalization, spec_normalization_success_unit_IfTrue, "normalization/success/unit/IfTrue");
-make_spec_test!(normalization, spec_normalization_success_unit_Integer, "normalization/success/unit/Integer");
-make_spec_test!(normalization, spec_normalization_success_unit_IntegerNegative, "normalization/success/unit/IntegerNegative");
-make_spec_test!(normalization, spec_normalization_success_unit_IntegerPositive, "normalization/success/unit/IntegerPositive");
-// make_spec_test!(normalization, spec_normalization_success_unit_IntegerShow_12, "normalization/success/unit/IntegerShow-12");
-// make_spec_test!(normalization, spec_normalization_success_unit_IntegerShow12, "normalization/success/unit/IntegerShow12");
-make_spec_test!(normalization, spec_normalization_success_unit_IntegerShow, "normalization/success/unit/IntegerShow");
-// make_spec_test!(normalization, spec_normalization_success_unit_IntegerToDouble_12, "normalization/success/unit/IntegerToDouble-12");
-// make_spec_test!(normalization, spec_normalization_success_unit_IntegerToDouble12, "normalization/success/unit/IntegerToDouble12");
-make_spec_test!(normalization, spec_normalization_success_unit_IntegerToDouble, "normalization/success/unit/IntegerToDouble");
-make_spec_test!(normalization, spec_normalization_success_unit_Kind, "normalization/success/unit/Kind");
-make_spec_test!(normalization, spec_normalization_success_unit_Let, "normalization/success/unit/Let");
-make_spec_test!(normalization, spec_normalization_success_unit_LetWithType, "normalization/success/unit/LetWithType");
-make_spec_test!(normalization, spec_normalization_success_unit_List, "normalization/success/unit/List");
-make_spec_test!(normalization, spec_normalization_success_unit_ListBuild, "normalization/success/unit/ListBuild");
-make_spec_test!(normalization, spec_normalization_success_unit_ListBuildFoldFusion, "normalization/success/unit/ListBuildFoldFusion");
-make_spec_test!(normalization, spec_normalization_success_unit_ListBuildImplementation, "normalization/success/unit/ListBuildImplementation");
-make_spec_test!(normalization, spec_normalization_success_unit_ListFold, "normalization/success/unit/ListFold");
-make_spec_test!(normalization, spec_normalization_success_unit_ListFoldEmpty, "normalization/success/unit/ListFoldEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_ListFoldOne, "normalization/success/unit/ListFoldOne");
-make_spec_test!(normalization, spec_normalization_success_unit_ListHead, "normalization/success/unit/ListHead");
-make_spec_test!(normalization, spec_normalization_success_unit_ListHeadEmpty, "normalization/success/unit/ListHeadEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_ListHeadOne, "normalization/success/unit/ListHeadOne");
-make_spec_test!(normalization, spec_normalization_success_unit_ListIndexed, "normalization/success/unit/ListIndexed");
-// make_spec_test!(normalization, spec_normalization_success_unit_ListIndexedEmpty, "normalization/success/unit/ListIndexedEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_ListIndexedOne, "normalization/success/unit/ListIndexedOne");
-make_spec_test!(normalization, spec_normalization_success_unit_ListLast, "normalization/success/unit/ListLast");
-make_spec_test!(normalization, spec_normalization_success_unit_ListLastEmpty, "normalization/success/unit/ListLastEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_ListLastOne, "normalization/success/unit/ListLastOne");
-make_spec_test!(normalization, spec_normalization_success_unit_ListLength, "normalization/success/unit/ListLength");
-make_spec_test!(normalization, spec_normalization_success_unit_ListLengthEmpty, "normalization/success/unit/ListLengthEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_ListLengthOne, "normalization/success/unit/ListLengthOne");
-make_spec_test!(normalization, spec_normalization_success_unit_ListNormalizeElements, "normalization/success/unit/ListNormalizeElements");
-make_spec_test!(normalization, spec_normalization_success_unit_ListNormalizeTypeAnnotation, "normalization/success/unit/ListNormalizeTypeAnnotation");
-make_spec_test!(normalization, spec_normalization_success_unit_ListReverse, "normalization/success/unit/ListReverse");
-make_spec_test!(normalization, spec_normalization_success_unit_ListReverseEmpty, "normalization/success/unit/ListReverseEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_ListReverseTwo, "normalization/success/unit/ListReverseTwo");
-// make_spec_test!(normalization, spec_normalization_success_unit_Merge, "normalization/success/unit/Merge");
-make_spec_test!(normalization, spec_normalization_success_unit_MergeNormalizeArguments, "normalization/success/unit/MergeNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_MergeWithType, "normalization/success/unit/MergeWithType");
-make_spec_test!(normalization, spec_normalization_success_unit_MergeWithTypeNormalizeArguments, "normalization/success/unit/MergeWithTypeNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_Natural, "normalization/success/unit/Natural");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalBuild, "normalization/success/unit/NaturalBuild");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalBuildFoldFusion, "normalization/success/unit/NaturalBuildFoldFusion");
-// make_spec_test!(normalization, spec_normalization_success_unit_NaturalBuildImplementation, "normalization/success/unit/NaturalBuildImplementation");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalEven, "normalization/success/unit/NaturalEven");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalEvenOne, "normalization/success/unit/NaturalEvenOne");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalEvenZero, "normalization/success/unit/NaturalEvenZero");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalFold, "normalization/success/unit/NaturalFold");
-// make_spec_test!(normalization, spec_normalization_success_unit_NaturalFoldOne, "normalization/success/unit/NaturalFoldOne");
-// make_spec_test!(normalization, spec_normalization_success_unit_NaturalFoldZero, "normalization/success/unit/NaturalFoldZero");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalIsZero, "normalization/success/unit/NaturalIsZero");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalIsZeroOne, "normalization/success/unit/NaturalIsZeroOne");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalIsZeroZero, "normalization/success/unit/NaturalIsZeroZero");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalLiteral, "normalization/success/unit/NaturalLiteral");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalOdd, "normalization/success/unit/NaturalOdd");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalOddOne, "normalization/success/unit/NaturalOddOne");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalOddZero, "normalization/success/unit/NaturalOddZero");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalShow, "normalization/success/unit/NaturalShow");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalShowOne, "normalization/success/unit/NaturalShowOne");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalToInteger, "normalization/success/unit/NaturalToInteger");
-make_spec_test!(normalization, spec_normalization_success_unit_NaturalToIntegerOne, "normalization/success/unit/NaturalToIntegerOne");
-make_spec_test!(normalization, spec_normalization_success_unit_None, "normalization/success/unit/None");
-make_spec_test!(normalization, spec_normalization_success_unit_NoneNatural, "normalization/success/unit/NoneNatural");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorAndEquivalentArguments, "normalization/success/unit/OperatorAndEquivalentArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorAndLhsFalse, "normalization/success/unit/OperatorAndLhsFalse");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorAndLhsTrue, "normalization/success/unit/OperatorAndLhsTrue");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorAndNormalizeArguments, "normalization/success/unit/OperatorAndNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorAndRhsFalse, "normalization/success/unit/OperatorAndRhsFalse");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorAndRhsTrue, "normalization/success/unit/OperatorAndRhsTrue");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorEqualEquivalentArguments, "normalization/success/unit/OperatorEqualEquivalentArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorEqualLhsTrue, "normalization/success/unit/OperatorEqualLhsTrue");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorEqualNormalizeArguments, "normalization/success/unit/OperatorEqualNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorEqualRhsTrue, "normalization/success/unit/OperatorEqualRhsTrue");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorListConcatenateLhsEmpty, "normalization/success/unit/OperatorListConcatenateLhsEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_OperatorListConcatenateListList, "normalization/success/unit/OperatorListConcatenateListList");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorListConcatenateNormalizeArguments, "normalization/success/unit/OperatorListConcatenateNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorListConcatenateRhsEmpty, "normalization/success/unit/OperatorListConcatenateRhsEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorNotEqualEquivalentArguments, "normalization/success/unit/OperatorNotEqualEquivalentArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorNotEqualLhsFalse, "normalization/success/unit/OperatorNotEqualLhsFalse");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorNotEqualNormalizeArguments, "normalization/success/unit/OperatorNotEqualNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorNotEqualRhsFalse, "normalization/success/unit/OperatorNotEqualRhsFalse");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorOrEquivalentArguments, "normalization/success/unit/OperatorOrEquivalentArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorOrLhsFalse, "normalization/success/unit/OperatorOrLhsFalse");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorOrLhsTrue, "normalization/success/unit/OperatorOrLhsTrue");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorOrNormalizeArguments, "normalization/success/unit/OperatorOrNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorOrRhsFalse, "normalization/success/unit/OperatorOrRhsFalse");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorOrRhsTrue, "normalization/success/unit/OperatorOrRhsTrue");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorPlusLhsZero, "normalization/success/unit/OperatorPlusLhsZero");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorPlusNormalizeArguments, "normalization/success/unit/OperatorPlusNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_OperatorPlusOneAndOne, "normalization/success/unit/OperatorPlusOneAndOne");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorPlusRhsZero, "normalization/success/unit/OperatorPlusRhsZero");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTextConcatenateLhsEmpty, "normalization/success/unit/OperatorTextConcatenateLhsEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTextConcatenateNormalizeArguments, "normalization/success/unit/OperatorTextConcatenateNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTextConcatenateRhsEmpty, "normalization/success/unit/OperatorTextConcatenateRhsEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_OperatorTextConcatenateTextText, "normalization/success/unit/OperatorTextConcatenateTextText");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTimesLhsOne, "normalization/success/unit/OperatorTimesLhsOne");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTimesLhsZero, "normalization/success/unit/OperatorTimesLhsZero");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTimesNormalizeArguments, "normalization/success/unit/OperatorTimesNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTimesRhsOne, "normalization/success/unit/OperatorTimesRhsOne");
-// make_spec_test!(normalization, spec_normalization_success_unit_OperatorTimesRhsZero, "normalization/success/unit/OperatorTimesRhsZero");
-make_spec_test!(normalization, spec_normalization_success_unit_OperatorTimesTwoAndTwo, "normalization/success/unit/OperatorTimesTwoAndTwo");
-make_spec_test!(normalization, spec_normalization_success_unit_Optional, "normalization/success/unit/Optional");
-make_spec_test!(normalization, spec_normalization_success_unit_OptionalBuild, "normalization/success/unit/OptionalBuild");
-make_spec_test!(normalization, spec_normalization_success_unit_OptionalBuildFoldFusion, "normalization/success/unit/OptionalBuildFoldFusion");
-make_spec_test!(normalization, spec_normalization_success_unit_OptionalBuildImplementation, "normalization/success/unit/OptionalBuildImplementation");
-make_spec_test!(normalization, spec_normalization_success_unit_OptionalFold, "normalization/success/unit/OptionalFold");
-make_spec_test!(normalization, spec_normalization_success_unit_OptionalFoldNone, "normalization/success/unit/OptionalFoldNone");
-make_spec_test!(normalization, spec_normalization_success_unit_OptionalFoldSome, "normalization/success/unit/OptionalFoldSome");
-make_spec_test!(normalization, spec_normalization_success_unit_Record, "normalization/success/unit/Record");
-make_spec_test!(normalization, spec_normalization_success_unit_RecordEmpty, "normalization/success/unit/RecordEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecordProjection, "normalization/success/unit/RecordProjection");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecordProjectionEmpty, "normalization/success/unit/RecordProjectionEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_RecordProjectionNormalizeArguments, "normalization/success/unit/RecordProjectionNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_RecordSelection, "normalization/success/unit/RecordSelection");
-make_spec_test!(normalization, spec_normalization_success_unit_RecordSelectionNormalizeArguments, "normalization/success/unit/RecordSelectionNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_RecordType, "normalization/success/unit/RecordType");
-make_spec_test!(normalization, spec_normalization_success_unit_RecordTypeEmpty, "normalization/success/unit/RecordTypeEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordMergeCollision, "normalization/success/unit/RecursiveRecordMergeCollision");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordMergeLhsEmpty, "normalization/success/unit/RecursiveRecordMergeLhsEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordMergeNoCollision, "normalization/success/unit/RecursiveRecordMergeNoCollision");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordMergeNormalizeArguments, "normalization/success/unit/RecursiveRecordMergeNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordMergeRhsEmpty, "normalization/success/unit/RecursiveRecordMergeRhsEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordTypeMergeCollision, "normalization/success/unit/RecursiveRecordTypeMergeCollision");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordTypeMergeLhsEmpty, "normalization/success/unit/RecursiveRecordTypeMergeLhsEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordTypeMergeNoCollision, "normalization/success/unit/RecursiveRecordTypeMergeNoCollision");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordTypeMergeNormalizeArguments, "normalization/success/unit/RecursiveRecordTypeMergeNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_RecursiveRecordTypeMergeRhsEmpty, "normalization/success/unit/RecursiveRecordTypeMergeRhsEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_RightBiasedRecordMergeCollision, "normalization/success/unit/RightBiasedRecordMergeCollision");
-// make_spec_test!(normalization, spec_normalization_success_unit_RightBiasedRecordMergeLhsEmpty, "normalization/success/unit/RightBiasedRecordMergeLhsEmpty");
-// make_spec_test!(normalization, spec_normalization_success_unit_RightBiasedRecordMergeNoCollision, "normalization/success/unit/RightBiasedRecordMergeNoCollision");
-// make_spec_test!(normalization, spec_normalization_success_unit_RightBiasedRecordMergeNormalizeArguments, "normalization/success/unit/RightBiasedRecordMergeNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_RightBiasedRecordMergeRhsEmpty, "normalization/success/unit/RightBiasedRecordMergeRhsEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_SomeNormalizeArguments, "normalization/success/unit/SomeNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_Sort, "normalization/success/unit/Sort");
-make_spec_test!(normalization, spec_normalization_success_unit_Text, "normalization/success/unit/Text");
-// make_spec_test!(normalization, spec_normalization_success_unit_TextInterpolate, "normalization/success/unit/TextInterpolate");
-make_spec_test!(normalization, spec_normalization_success_unit_TextLiteral, "normalization/success/unit/TextLiteral");
-make_spec_test!(normalization, spec_normalization_success_unit_TextNormalizeInterpolations, "normalization/success/unit/TextNormalizeInterpolations");
-make_spec_test!(normalization, spec_normalization_success_unit_TextShow, "normalization/success/unit/TextShow");
-// make_spec_test!(normalization, spec_normalization_success_unit_TextShowAllEscapes, "normalization/success/unit/TextShowAllEscapes");
-make_spec_test!(normalization, spec_normalization_success_unit_True, "normalization/success/unit/True");
-make_spec_test!(normalization, spec_normalization_success_unit_Type, "normalization/success/unit/Type");
-make_spec_test!(normalization, spec_normalization_success_unit_TypeAnnotation, "normalization/success/unit/TypeAnnotation");
-make_spec_test!(normalization, spec_normalization_success_unit_UnionNormalizeAlternatives, "normalization/success/unit/UnionNormalizeAlternatives");
-make_spec_test!(normalization, spec_normalization_success_unit_UnionNormalizeArguments, "normalization/success/unit/UnionNormalizeArguments");
-// make_spec_test!(normalization, spec_normalization_success_unit_UnionProjectConstructor, "normalization/success/unit/UnionProjectConstructor");
-make_spec_test!(normalization, spec_normalization_success_unit_UnionProjectConstructorNormalizeArguments, "normalization/success/unit/UnionProjectConstructorNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_UnionSortAlternatives, "normalization/success/unit/UnionSortAlternatives");
-make_spec_test!(normalization, spec_normalization_success_unit_UnionType, "normalization/success/unit/UnionType");
-make_spec_test!(normalization, spec_normalization_success_unit_UnionTypeEmpty, "normalization/success/unit/UnionTypeEmpty");
-make_spec_test!(normalization, spec_normalization_success_unit_UnionTypeNormalizeArguments, "normalization/success/unit/UnionTypeNormalizeArguments");
-make_spec_test!(normalization, spec_normalization_success_unit_Variable, "normalization/success/unit/Variable");
+norm!(spec_normalization_success_unit_Bool, "unit/Bool");
+norm!(spec_normalization_success_unit_Double, "unit/Double");
+norm!(spec_normalization_success_unit_DoubleLiteral, "unit/DoubleLiteral");
+norm!(spec_normalization_success_unit_DoubleShow, "unit/DoubleShow");
+// norm!(spec_normalization_success_unit_DoubleShowValue, "unit/DoubleShowValue");
+norm!(spec_normalization_success_unit_FunctionApplicationCapture, "unit/FunctionApplicationCapture");
+norm!(spec_normalization_success_unit_FunctionApplicationNoSubstitute, "unit/FunctionApplicationNoSubstitute");
+norm!(spec_normalization_success_unit_FunctionApplicationNormalizeArguments, "unit/FunctionApplicationNormalizeArguments");
+norm!(spec_normalization_success_unit_FunctionApplicationSubstitute, "unit/FunctionApplicationSubstitute");
+norm!(spec_normalization_success_unit_FunctionNormalizeArguments, "unit/FunctionNormalizeArguments");
+norm!(spec_normalization_success_unit_FunctionTypeNormalizeArguments, "unit/FunctionTypeNormalizeArguments");
+// norm!(spec_normalization_success_unit_IfAlternativesIdentical, "unit/IfAlternativesIdentical");
+norm!(spec_normalization_success_unit_IfFalse, "unit/IfFalse");
+norm!(spec_normalization_success_unit_IfNormalizePredicateAndBranches, "unit/IfNormalizePredicateAndBranches");
+// norm!(spec_normalization_success_unit_IfTrivial, "unit/IfTrivial");
+norm!(spec_normalization_success_unit_IfTrue, "unit/IfTrue");
+norm!(spec_normalization_success_unit_Integer, "unit/Integer");
+norm!(spec_normalization_success_unit_IntegerNegative, "unit/IntegerNegative");
+norm!(spec_normalization_success_unit_IntegerPositive, "unit/IntegerPositive");
+// norm!(spec_normalization_success_unit_IntegerShow_12, "unit/IntegerShow-12");
+// norm!(spec_normalization_success_unit_IntegerShow12, "unit/IntegerShow12");
+norm!(spec_normalization_success_unit_IntegerShow, "unit/IntegerShow");
+// norm!(spec_normalization_success_unit_IntegerToDouble_12, "unit/IntegerToDouble-12");
+// norm!(spec_normalization_success_unit_IntegerToDouble12, "unit/IntegerToDouble12");
+norm!(spec_normalization_success_unit_IntegerToDouble, "unit/IntegerToDouble");
+norm!(spec_normalization_success_unit_Kind, "unit/Kind");
+norm!(spec_normalization_success_unit_Let, "unit/Let");
+norm!(spec_normalization_success_unit_LetWithType, "unit/LetWithType");
+norm!(spec_normalization_success_unit_List, "unit/List");
+norm!(spec_normalization_success_unit_ListBuild, "unit/ListBuild");
+norm!(spec_normalization_success_unit_ListBuildFoldFusion, "unit/ListBuildFoldFusion");
+norm!(spec_normalization_success_unit_ListBuildImplementation, "unit/ListBuildImplementation");
+norm!(spec_normalization_success_unit_ListFold, "unit/ListFold");
+norm!(spec_normalization_success_unit_ListFoldEmpty, "unit/ListFoldEmpty");
+norm!(spec_normalization_success_unit_ListFoldOne, "unit/ListFoldOne");
+norm!(spec_normalization_success_unit_ListHead, "unit/ListHead");
+norm!(spec_normalization_success_unit_ListHeadEmpty, "unit/ListHeadEmpty");
+norm!(spec_normalization_success_unit_ListHeadOne, "unit/ListHeadOne");
+norm!(spec_normalization_success_unit_ListIndexed, "unit/ListIndexed");
+// norm!(spec_normalization_success_unit_ListIndexedEmpty, "unit/ListIndexedEmpty");
+// norm!(spec_normalization_success_unit_ListIndexedOne, "unit/ListIndexedOne");
+norm!(spec_normalization_success_unit_ListLast, "unit/ListLast");
+norm!(spec_normalization_success_unit_ListLastEmpty, "unit/ListLastEmpty");
+norm!(spec_normalization_success_unit_ListLastOne, "unit/ListLastOne");
+norm!(spec_normalization_success_unit_ListLength, "unit/ListLength");
+norm!(spec_normalization_success_unit_ListLengthEmpty, "unit/ListLengthEmpty");
+norm!(spec_normalization_success_unit_ListLengthOne, "unit/ListLengthOne");
+norm!(spec_normalization_success_unit_ListNormalizeElements, "unit/ListNormalizeElements");
+norm!(spec_normalization_success_unit_ListNormalizeTypeAnnotation, "unit/ListNormalizeTypeAnnotation");
+norm!(spec_normalization_success_unit_ListReverse, "unit/ListReverse");
+norm!(spec_normalization_success_unit_ListReverseEmpty, "unit/ListReverseEmpty");
+norm!(spec_normalization_success_unit_ListReverseTwo, "unit/ListReverseTwo");
+// norm!(spec_normalization_success_unit_Merge, "unit/Merge");
+norm!(spec_normalization_success_unit_MergeNormalizeArguments, "unit/MergeNormalizeArguments");
+// norm!(spec_normalization_success_unit_MergeWithType, "unit/MergeWithType");
+norm!(spec_normalization_success_unit_MergeWithTypeNormalizeArguments, "unit/MergeWithTypeNormalizeArguments");
+norm!(spec_normalization_success_unit_Natural, "unit/Natural");
+norm!(spec_normalization_success_unit_NaturalBuild, "unit/NaturalBuild");
+norm!(spec_normalization_success_unit_NaturalBuildFoldFusion, "unit/NaturalBuildFoldFusion");
+// norm!(spec_normalization_success_unit_NaturalBuildImplementation, "unit/NaturalBuildImplementation");
+norm!(spec_normalization_success_unit_NaturalEven, "unit/NaturalEven");
+norm!(spec_normalization_success_unit_NaturalEvenOne, "unit/NaturalEvenOne");
+norm!(spec_normalization_success_unit_NaturalEvenZero, "unit/NaturalEvenZero");
+norm!(spec_normalization_success_unit_NaturalFold, "unit/NaturalFold");
+// norm!(spec_normalization_success_unit_NaturalFoldOne, "unit/NaturalFoldOne");
+// norm!(spec_normalization_success_unit_NaturalFoldZero, "unit/NaturalFoldZero");
+norm!(spec_normalization_success_unit_NaturalIsZero, "unit/NaturalIsZero");
+norm!(spec_normalization_success_unit_NaturalIsZeroOne, "unit/NaturalIsZeroOne");
+norm!(spec_normalization_success_unit_NaturalIsZeroZero, "unit/NaturalIsZeroZero");
+norm!(spec_normalization_success_unit_NaturalLiteral, "unit/NaturalLiteral");
+norm!(spec_normalization_success_unit_NaturalOdd, "unit/NaturalOdd");
+norm!(spec_normalization_success_unit_NaturalOddOne, "unit/NaturalOddOne");
+norm!(spec_normalization_success_unit_NaturalOddZero, "unit/NaturalOddZero");
+norm!(spec_normalization_success_unit_NaturalShow, "unit/NaturalShow");
+norm!(spec_normalization_success_unit_NaturalShowOne, "unit/NaturalShowOne");
+norm!(spec_normalization_success_unit_NaturalToInteger, "unit/NaturalToInteger");
+norm!(spec_normalization_success_unit_NaturalToIntegerOne, "unit/NaturalToIntegerOne");
+norm!(spec_normalization_success_unit_None, "unit/None");
+norm!(spec_normalization_success_unit_NoneNatural, "unit/NoneNatural");
+// norm!(spec_normalization_success_unit_OperatorAndEquivalentArguments, "unit/OperatorAndEquivalentArguments");
+// norm!(spec_normalization_success_unit_OperatorAndLhsFalse, "unit/OperatorAndLhsFalse");
+// norm!(spec_normalization_success_unit_OperatorAndLhsTrue, "unit/OperatorAndLhsTrue");
+// norm!(spec_normalization_success_unit_OperatorAndNormalizeArguments, "unit/OperatorAndNormalizeArguments");
+// norm!(spec_normalization_success_unit_OperatorAndRhsFalse, "unit/OperatorAndRhsFalse");
+// norm!(spec_normalization_success_unit_OperatorAndRhsTrue, "unit/OperatorAndRhsTrue");
+// norm!(spec_normalization_success_unit_OperatorEqualEquivalentArguments, "unit/OperatorEqualEquivalentArguments");
+// norm!(spec_normalization_success_unit_OperatorEqualLhsTrue, "unit/OperatorEqualLhsTrue");
+// norm!(spec_normalization_success_unit_OperatorEqualNormalizeArguments, "unit/OperatorEqualNormalizeArguments");
+// norm!(spec_normalization_success_unit_OperatorEqualRhsTrue, "unit/OperatorEqualRhsTrue");
+// norm!(spec_normalization_success_unit_OperatorListConcatenateLhsEmpty, "unit/OperatorListConcatenateLhsEmpty");
+norm!(spec_normalization_success_unit_OperatorListConcatenateListList, "unit/OperatorListConcatenateListList");
+// norm!(spec_normalization_success_unit_OperatorListConcatenateNormalizeArguments, "unit/OperatorListConcatenateNormalizeArguments");
+// norm!(spec_normalization_success_unit_OperatorListConcatenateRhsEmpty, "unit/OperatorListConcatenateRhsEmpty");
+// norm!(spec_normalization_success_unit_OperatorNotEqualEquivalentArguments, "unit/OperatorNotEqualEquivalentArguments");
+// norm!(spec_normalization_success_unit_OperatorNotEqualLhsFalse, "unit/OperatorNotEqualLhsFalse");
+// norm!(spec_normalization_success_unit_OperatorNotEqualNormalizeArguments, "unit/OperatorNotEqualNormalizeArguments");
+// norm!(spec_normalization_success_unit_OperatorNotEqualRhsFalse, "unit/OperatorNotEqualRhsFalse");
+// norm!(spec_normalization_success_unit_OperatorOrEquivalentArguments, "unit/OperatorOrEquivalentArguments");
+// norm!(spec_normalization_success_unit_OperatorOrLhsFalse, "unit/OperatorOrLhsFalse");
+// norm!(spec_normalization_success_unit_OperatorOrLhsTrue, "unit/OperatorOrLhsTrue");
+// norm!(spec_normalization_success_unit_OperatorOrNormalizeArguments, "unit/OperatorOrNormalizeArguments");
+// norm!(spec_normalization_success_unit_OperatorOrRhsFalse, "unit/OperatorOrRhsFalse");
+// norm!(spec_normalization_success_unit_OperatorOrRhsTrue, "unit/OperatorOrRhsTrue");
+// norm!(spec_normalization_success_unit_OperatorPlusLhsZero, "unit/OperatorPlusLhsZero");
+// norm!(spec_normalization_success_unit_OperatorPlusNormalizeArguments, "unit/OperatorPlusNormalizeArguments");
+norm!(spec_normalization_success_unit_OperatorPlusOneAndOne, "unit/OperatorPlusOneAndOne");
+// norm!(spec_normalization_success_unit_OperatorPlusRhsZero, "unit/OperatorPlusRhsZero");
+// norm!(spec_normalization_success_unit_OperatorTextConcatenateLhsEmpty, "unit/OperatorTextConcatenateLhsEmpty");
+// norm!(spec_normalization_success_unit_OperatorTextConcatenateNormalizeArguments, "unit/OperatorTextConcatenateNormalizeArguments");
+// norm!(spec_normalization_success_unit_OperatorTextConcatenateRhsEmpty, "unit/OperatorTextConcatenateRhsEmpty");
+norm!(spec_normalization_success_unit_OperatorTextConcatenateTextText, "unit/OperatorTextConcatenateTextText");
+// norm!(spec_normalization_success_unit_OperatorTimesLhsOne, "unit/OperatorTimesLhsOne");
+// norm!(spec_normalization_success_unit_OperatorTimesLhsZero, "unit/OperatorTimesLhsZero");
+// norm!(spec_normalization_success_unit_OperatorTimesNormalizeArguments, "unit/OperatorTimesNormalizeArguments");
+// norm!(spec_normalization_success_unit_OperatorTimesRhsOne, "unit/OperatorTimesRhsOne");
+// norm!(spec_normalization_success_unit_OperatorTimesRhsZero, "unit/OperatorTimesRhsZero");
+norm!(spec_normalization_success_unit_OperatorTimesTwoAndTwo, "unit/OperatorTimesTwoAndTwo");
+norm!(spec_normalization_success_unit_Optional, "unit/Optional");
+norm!(spec_normalization_success_unit_OptionalBuild, "unit/OptionalBuild");
+norm!(spec_normalization_success_unit_OptionalBuildFoldFusion, "unit/OptionalBuildFoldFusion");
+norm!(spec_normalization_success_unit_OptionalBuildImplementation, "unit/OptionalBuildImplementation");
+norm!(spec_normalization_success_unit_OptionalFold, "unit/OptionalFold");
+norm!(spec_normalization_success_unit_OptionalFoldNone, "unit/OptionalFoldNone");
+norm!(spec_normalization_success_unit_OptionalFoldSome, "unit/OptionalFoldSome");
+norm!(spec_normalization_success_unit_Record, "unit/Record");
+norm!(spec_normalization_success_unit_RecordEmpty, "unit/RecordEmpty");
+// norm!(spec_normalization_success_unit_RecordProjection, "unit/RecordProjection");
+// norm!(spec_normalization_success_unit_RecordProjectionEmpty, "unit/RecordProjectionEmpty");
+norm!(spec_normalization_success_unit_RecordProjectionNormalizeArguments, "unit/RecordProjectionNormalizeArguments");
+norm!(spec_normalization_success_unit_RecordSelection, "unit/RecordSelection");
+norm!(spec_normalization_success_unit_RecordSelectionNormalizeArguments, "unit/RecordSelectionNormalizeArguments");
+norm!(spec_normalization_success_unit_RecordType, "unit/RecordType");
+norm!(spec_normalization_success_unit_RecordTypeEmpty, "unit/RecordTypeEmpty");
+// norm!(spec_normalization_success_unit_RecursiveRecordMergeCollision, "unit/RecursiveRecordMergeCollision");
+// norm!(spec_normalization_success_unit_RecursiveRecordMergeLhsEmpty, "unit/RecursiveRecordMergeLhsEmpty");
+// norm!(spec_normalization_success_unit_RecursiveRecordMergeNoCollision, "unit/RecursiveRecordMergeNoCollision");
+// norm!(spec_normalization_success_unit_RecursiveRecordMergeNormalizeArguments, "unit/RecursiveRecordMergeNormalizeArguments");
+// norm!(spec_normalization_success_unit_RecursiveRecordMergeRhsEmpty, "unit/RecursiveRecordMergeRhsEmpty");
+// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeCollision, "unit/RecursiveRecordTypeMergeCollision");
+// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeLhsEmpty, "unit/RecursiveRecordTypeMergeLhsEmpty");
+// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeNoCollision, "unit/RecursiveRecordTypeMergeNoCollision");
+// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeNormalizeArguments, "unit/RecursiveRecordTypeMergeNormalizeArguments");
+// norm!(spec_normalization_success_unit_RecursiveRecordTypeMergeRhsEmpty, "unit/RecursiveRecordTypeMergeRhsEmpty");
+// norm!(spec_normalization_success_unit_RightBiasedRecordMergeCollision, "unit/RightBiasedRecordMergeCollision");
+// norm!(spec_normalization_success_unit_RightBiasedRecordMergeLhsEmpty, "unit/RightBiasedRecordMergeLhsEmpty");
+// norm!(spec_normalization_success_unit_RightBiasedRecordMergeNoCollision, "unit/RightBiasedRecordMergeNoCollision");
+// norm!(spec_normalization_success_unit_RightBiasedRecordMergeNormalizeArguments, "unit/RightBiasedRecordMergeNormalizeArguments");
+// norm!(spec_normalization_success_unit_RightBiasedRecordMergeRhsEmpty, "unit/RightBiasedRecordMergeRhsEmpty");
+norm!(spec_normalization_success_unit_SomeNormalizeArguments, "unit/SomeNormalizeArguments");
+norm!(spec_normalization_success_unit_Sort, "unit/Sort");
+norm!(spec_normalization_success_unit_Text, "unit/Text");
+// norm!(spec_normalization_success_unit_TextInterpolate, "unit/TextInterpolate");
+norm!(spec_normalization_success_unit_TextLiteral, "unit/TextLiteral");
+norm!(spec_normalization_success_unit_TextNormalizeInterpolations, "unit/TextNormalizeInterpolations");
+norm!(spec_normalization_success_unit_TextShow, "unit/TextShow");
+// norm!(spec_normalization_success_unit_TextShowAllEscapes, "unit/TextShowAllEscapes");
+norm!(spec_normalization_success_unit_True, "unit/True");
+norm!(spec_normalization_success_unit_Type, "unit/Type");
+norm!(spec_normalization_success_unit_TypeAnnotation, "unit/TypeAnnotation");
+norm!(spec_normalization_success_unit_UnionNormalizeAlternatives, "unit/UnionNormalizeAlternatives");
+norm!(spec_normalization_success_unit_UnionNormalizeArguments, "unit/UnionNormalizeArguments");
+// norm!(spec_normalization_success_unit_UnionProjectConstructor, "unit/UnionProjectConstructor");
+norm!(spec_normalization_success_unit_UnionProjectConstructorNormalizeArguments, "unit/UnionProjectConstructorNormalizeArguments");
+norm!(spec_normalization_success_unit_UnionSortAlternatives, "unit/UnionSortAlternatives");
+norm!(spec_normalization_success_unit_UnionType, "unit/UnionType");
+norm!(spec_normalization_success_unit_UnionTypeEmpty, "unit/UnionTypeEmpty");
+norm!(spec_normalization_success_unit_UnionTypeNormalizeArguments, "unit/UnionTypeNormalizeArguments");
+norm!(spec_normalization_success_unit_Variable, "unit/Variable");
-make_spec_test!(parser, spec_parser_success_annotations, "parser/success/annotations");
-// make_spec_test!(parser, spec_parser_success_asText, "parser/success/asText");
-make_spec_test!(parser, spec_parser_success_blockComment, "parser/success/blockComment");
-make_spec_test!(parser, spec_parser_success_builtins, "parser/success/builtins");
-// make_spec_test!(parser, spec_parser_success_collectionImportType, "parser/success/collectionImportType");
-// make_spec_test!(parser, spec_parser_success_double, "parser/success/double");
-make_spec_test!(parser, spec_parser_success_doubleQuotedString, "parser/success/doubleQuotedString");
-// make_spec_test!(parser, spec_parser_success_environmentVariables, "parser/success/environmentVariables");
-// make_spec_test!(parser, spec_parser_success_escapedDoubleQuotedString, "parser/success/escapedDoubleQuotedString");
-make_spec_test!(parser, spec_parser_success_escapedSingleQuotedString, "parser/success/escapedSingleQuotedString");
-make_spec_test!(parser, spec_parser_success_fields, "parser/success/fields");
-make_spec_test!(parser, spec_parser_success_forall, "parser/success/forall");
-make_spec_test!(parser, spec_parser_success_functionType, "parser/success/functionType");
-make_spec_test!(parser, spec_parser_success_identifier, "parser/success/identifier");
-make_spec_test!(parser, spec_parser_success_ifThenElse, "parser/success/ifThenElse");
-// make_spec_test!(parser, spec_parser_success_importAlt, "parser/success/importAlt");
-make_spec_test!(parser, spec_parser_success_interpolatedDoubleQuotedString, "parser/success/interpolatedDoubleQuotedString");
-make_spec_test!(parser, spec_parser_success_interpolatedSingleQuotedString, "parser/success/interpolatedSingleQuotedString");
-make_spec_test!(parser, spec_parser_success_label, "parser/success/label");
-make_spec_test!(parser, spec_parser_success_lambda, "parser/success/lambda");
-// make_spec_test!(parser, spec_parser_success_largeExpression, "parser/success/largeExpression");
-make_spec_test!(parser, spec_parser_success_let, "parser/success/let");
-make_spec_test!(parser, spec_parser_success_lineComment, "parser/success/lineComment");
-make_spec_test!(parser, spec_parser_success_list, "parser/success/list");
-make_spec_test!(parser, spec_parser_success_merge, "parser/success/merge");
-make_spec_test!(parser, spec_parser_success_multilet, "parser/success/multilet");
-make_spec_test!(parser, spec_parser_success_natural, "parser/success/natural");
-make_spec_test!(parser, spec_parser_success_nestedBlockComment, "parser/success/nestedBlockComment");
-make_spec_test!(parser, spec_parser_success_operators, "parser/success/operators");
-// make_spec_test!(parser, spec_parser_success_parenthesizeUsing, "parser/success/parenthesizeUsing");
-// make_spec_test!(parser, spec_parser_success_pathTermination, "parser/success/pathTermination");
-// make_spec_test!(parser, spec_parser_success_paths, "parser/success/paths");
-// make_spec_test!(parser, spec_parser_success_quotedLabel, "parser/success/quotedLabel");
-// make_spec_test!(parser, spec_parser_success_quotedPaths, "parser/success/quotedPaths");
-make_spec_test!(parser, spec_parser_success_record, "parser/success/record");
-make_spec_test!(parser, spec_parser_success_reservedPrefix, "parser/success/reservedPrefix");
-make_spec_test!(parser, spec_parser_success_singleQuotedString, "parser/success/singleQuotedString");
-make_spec_test!(parser, spec_parser_success_sort, "parser/success/sort");
-make_spec_test!(parser, spec_parser_success_template, "parser/success/template");
-make_spec_test!(parser, spec_parser_success_unicodeComment, "parser/success/unicodeComment");
-make_spec_test!(parser, spec_parser_success_unicodeDoubleQuotedString, "parser/success/unicodeDoubleQuotedString");
-// make_spec_test!(parser, spec_parser_success_unicodePaths, "parser/success/unicodePaths");
-make_spec_test!(parser, spec_parser_success_union, "parser/success/union");
-// make_spec_test!(parser, spec_parser_success_urls, "parser/success/urls");
-make_spec_test!(parser, spec_parser_success_whitespace, "parser/success/whitespace");
-make_spec_test!(parser, spec_parser_success_whitespaceBuffet, "parser/success/whitespaceBuffet");
-make_spec_test!(parser_failure, spec_parser_failure_annotation, "parser/failure/annotation");
-// make_spec_test!(parser_failure, spec_parser_failure_doubleBoundsNeg, "parser/failure/doubleBoundsNeg");
-// make_spec_test!(parser_failure, spec_parser_failure_doubleBoundsPos, "parser/failure/doubleBoundsPos");
-make_spec_test!(parser_failure, spec_parser_failure_importAccess, "parser/failure/importAccess");
-make_spec_test!(parser_failure, spec_parser_failure_incompleteIf, "parser/failure/incompleteIf");
-make_spec_test!(parser_failure, spec_parser_failure_mandatoryNewline, "parser/failure/mandatoryNewline");
-make_spec_test!(parser_failure, spec_parser_failure_missingSpace, "parser/failure/missingSpace");
-// make_spec_test!(parser_failure, spec_parser_failure_spaceAfterListAppend, "parser/failure/spaceAfterListAppend");
+parser_success!(spec_parser_success_annotations, "annotations");
+// parser_success!(spec_parser_success_asText, "asText");
+parser_success!(spec_parser_success_blockComment, "blockComment");
+parser_success!(spec_parser_success_builtins, "builtins");
+// parser_success!(spec_parser_success_collectionImportType, "collectionImportType");
+// parser_success!(spec_parser_success_double, "double");
+parser_success!(spec_parser_success_doubleQuotedString, "doubleQuotedString");
+// parser_success!(spec_parser_success_environmentVariables, "environmentVariables");
+// parser_success!(spec_parser_success_escapedDoubleQuotedString, "escapedDoubleQuotedString");
+parser_success!(spec_parser_success_escapedSingleQuotedString, "escapedSingleQuotedString");
+parser_success!(spec_parser_success_fields, "fields");
+parser_success!(spec_parser_success_forall, "forall");
+parser_success!(spec_parser_success_functionType, "functionType");
+parser_success!(spec_parser_success_identifier, "identifier");
+parser_success!(spec_parser_success_ifThenElse, "ifThenElse");
+// parser_success!(spec_parser_success_importAlt, "importAlt");
+parser_success!(spec_parser_success_interpolatedDoubleQuotedString, "interpolatedDoubleQuotedString");
+parser_success!(spec_parser_success_interpolatedSingleQuotedString, "interpolatedSingleQuotedString");
+parser_success!(spec_parser_success_label, "label");
+parser_success!(spec_parser_success_lambda, "lambda");
+// parser_success!(spec_parser_success_largeExpression, "largeExpression");
+parser_success!(spec_parser_success_let, "let");
+parser_success!(spec_parser_success_lineComment, "lineComment");
+parser_success!(spec_parser_success_list, "list");
+parser_success!(spec_parser_success_merge, "merge");
+parser_success!(spec_parser_success_multilet, "multilet");
+parser_success!(spec_parser_success_natural, "natural");
+parser_success!(spec_parser_success_nestedBlockComment, "nestedBlockComment");
+parser_success!(spec_parser_success_operators, "operators");
+// parser_success!(spec_parser_success_parenthesizeUsing, "parenthesizeUsing");
+// parser_success!(spec_parser_success_pathTermination, "pathTermination");
+// parser_success!(spec_parser_success_paths, "paths");
+// parser_success!(spec_parser_success_quotedLabel, "quotedLabel");
+// parser_success!(spec_parser_success_quotedPaths, "quotedPaths");
+parser_success!(spec_parser_success_record, "record");
+parser_success!(spec_parser_success_reservedPrefix, "reservedPrefix");
+parser_success!(spec_parser_success_singleQuotedString, "singleQuotedString");
+parser_success!(spec_parser_success_sort, "sort");
+parser_success!(spec_parser_success_template, "template");
+parser_success!(spec_parser_success_unicodeComment, "unicodeComment");
+parser_success!(spec_parser_success_unicodeDoubleQuotedString, "unicodeDoubleQuotedString");
+// parser_success!(spec_parser_success_unicodePaths, "unicodePaths");
+parser_success!(spec_parser_success_union, "union");
+// parser_success!(spec_parser_success_urls, "urls");
+parser_success!(spec_parser_success_whitespace, "whitespace");
+parser_success!(spec_parser_success_whitespaceBuffet, "whitespaceBuffet");
+parser_failure!(spec_parser_failure_annotation, "annotation");
+// parser_failure!(spec_parser_failure_doubleBoundsNeg, "doubleBoundsNeg");
+// parser_failure!(spec_parser_failure_doubleBoundsPos, "doubleBoundsPos");
+parser_failure!(spec_parser_failure_importAccess, "importAccess");
+parser_failure!(spec_parser_failure_incompleteIf, "incompleteIf");
+parser_failure!(spec_parser_failure_mandatoryNewline, "mandatoryNewline");
+parser_failure!(spec_parser_failure_missingSpace, "missingSpace");
+// parser_failure!(spec_parser_failure_spaceAfterListAppend, "spaceAfterListAppend");
-// make_spec_test!(typecheck_success, spec_typecheck_success_accessEncodedType, "typecheck/success/accessEncodedType");
-// make_spec_test!(typecheck_success, spec_typecheck_success_accessType, "typecheck/success/accessType");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_and_0, "typecheck/success/prelude/Bool/and/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_and_1, "typecheck/success/prelude/Bool/and/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_build_0, "typecheck/success/prelude/Bool/build/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_build_1, "typecheck/success/prelude/Bool/build/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_even_0, "typecheck/success/prelude/Bool/even/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_even_1, "typecheck/success/prelude/Bool/even/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_even_2, "typecheck/success/prelude/Bool/even/2");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_even_3, "typecheck/success/prelude/Bool/even/3");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_fold_0, "typecheck/success/prelude/Bool/fold/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_fold_1, "typecheck/success/prelude/Bool/fold/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_not_0, "typecheck/success/prelude/Bool/not/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_not_1, "typecheck/success/prelude/Bool/not/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_odd_0, "typecheck/success/prelude/Bool/odd/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_odd_1, "typecheck/success/prelude/Bool/odd/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_odd_2, "typecheck/success/prelude/Bool/odd/2");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_odd_3, "typecheck/success/prelude/Bool/odd/3");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_or_0, "typecheck/success/prelude/Bool/or/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_or_1, "typecheck/success/prelude/Bool/or/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_show_0, "typecheck/success/prelude/Bool/show/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Bool_show_1, "typecheck/success/prelude/Bool/show/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Double_show_0, "typecheck/success/prelude/Double/show/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Double_show_1, "typecheck/success/prelude/Double/show/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Integer_show_0, "typecheck/success/prelude/Integer/show/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Integer_show_1, "typecheck/success/prelude/Integer/show/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Integer_toDouble_0, "typecheck/success/prelude/Integer/toDouble/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Integer_toDouble_1, "typecheck/success/prelude/Integer/toDouble/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_all_0, "typecheck/success/prelude/List/all/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_all_1, "typecheck/success/prelude/List/all/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_any_0, "typecheck/success/prelude/List/any/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_any_1, "typecheck/success/prelude/List/any/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_build_0, "typecheck/success/prelude/List/build/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_build_1, "typecheck/success/prelude/List/build/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_concat_0, "typecheck/success/prelude/List/concat/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_concat_1, "typecheck/success/prelude/List/concat/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_concatMap_0, "typecheck/success/prelude/List/concatMap/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_concatMap_1, "typecheck/success/prelude/List/concatMap/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_filter_0, "typecheck/success/prelude/List/filter/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_filter_1, "typecheck/success/prelude/List/filter/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_fold_0, "typecheck/success/prelude/List/fold/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_fold_1, "typecheck/success/prelude/List/fold/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_fold_2, "typecheck/success/prelude/List/fold/2");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_generate_0, "typecheck/success/prelude/List/generate/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_generate_1, "typecheck/success/prelude/List/generate/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_head_0, "typecheck/success/prelude/List/head/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_head_1, "typecheck/success/prelude/List/head/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_indexed_0, "typecheck/success/prelude/List/indexed/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_indexed_1, "typecheck/success/prelude/List/indexed/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_iterate_0, "typecheck/success/prelude/List/iterate/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_iterate_1, "typecheck/success/prelude/List/iterate/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_last_0, "typecheck/success/prelude/List/last/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_last_1, "typecheck/success/prelude/List/last/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_length_0, "typecheck/success/prelude/List/length/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_length_1, "typecheck/success/prelude/List/length/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_map_0, "typecheck/success/prelude/List/map/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_map_1, "typecheck/success/prelude/List/map/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_null_0, "typecheck/success/prelude/List/null/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_null_1, "typecheck/success/prelude/List/null/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_replicate_0, "typecheck/success/prelude/List/replicate/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_replicate_1, "typecheck/success/prelude/List/replicate/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_reverse_0, "typecheck/success/prelude/List/reverse/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_reverse_1, "typecheck/success/prelude/List/reverse/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_shifted_0, "typecheck/success/prelude/List/shifted/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_shifted_1, "typecheck/success/prelude/List/shifted/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_unzip_0, "typecheck/success/prelude/List/unzip/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_List_unzip_1, "typecheck/success/prelude/List/unzip/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_00, "typecheck/success/prelude/Monoid/00");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_01, "typecheck/success/prelude/Monoid/01");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_02, "typecheck/success/prelude/Monoid/02");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_03, "typecheck/success/prelude/Monoid/03");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_04, "typecheck/success/prelude/Monoid/04");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_05, "typecheck/success/prelude/Monoid/05");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_06, "typecheck/success/prelude/Monoid/06");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_07, "typecheck/success/prelude/Monoid/07");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_08, "typecheck/success/prelude/Monoid/08");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_09, "typecheck/success/prelude/Monoid/09");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Monoid_10, "typecheck/success/prelude/Monoid/10");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_build_0, "typecheck/success/prelude/Natural/build/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_build_1, "typecheck/success/prelude/Natural/build/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_enumerate_0, "typecheck/success/prelude/Natural/enumerate/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_enumerate_1, "typecheck/success/prelude/Natural/enumerate/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_even_0, "typecheck/success/prelude/Natural/even/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_even_1, "typecheck/success/prelude/Natural/even/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_fold_0, "typecheck/success/prelude/Natural/fold/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_fold_1, "typecheck/success/prelude/Natural/fold/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_fold_2, "typecheck/success/prelude/Natural/fold/2");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_isZero_0, "typecheck/success/prelude/Natural/isZero/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_isZero_1, "typecheck/success/prelude/Natural/isZero/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_odd_0, "typecheck/success/prelude/Natural/odd/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_odd_1, "typecheck/success/prelude/Natural/odd/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_product_0, "typecheck/success/prelude/Natural/product/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_product_1, "typecheck/success/prelude/Natural/product/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_show_0, "typecheck/success/prelude/Natural/show/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_show_1, "typecheck/success/prelude/Natural/show/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_sum_0, "typecheck/success/prelude/Natural/sum/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_sum_1, "typecheck/success/prelude/Natural/sum/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_toDouble_0, "typecheck/success/prelude/Natural/toDouble/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_toDouble_1, "typecheck/success/prelude/Natural/toDouble/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_toInteger_0, "typecheck/success/prelude/Natural/toInteger/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Natural_toInteger_1, "typecheck/success/prelude/Natural/toInteger/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_all_0, "typecheck/success/prelude/Optional/all/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_all_1, "typecheck/success/prelude/Optional/all/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_any_0, "typecheck/success/prelude/Optional/any/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_any_1, "typecheck/success/prelude/Optional/any/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_build_0, "typecheck/success/prelude/Optional/build/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_build_1, "typecheck/success/prelude/Optional/build/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_concat_0, "typecheck/success/prelude/Optional/concat/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_concat_1, "typecheck/success/prelude/Optional/concat/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_concat_2, "typecheck/success/prelude/Optional/concat/2");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_filter_0, "typecheck/success/prelude/Optional/filter/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_filter_1, "typecheck/success/prelude/Optional/filter/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_fold_0, "typecheck/success/prelude/Optional/fold/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_fold_1, "typecheck/success/prelude/Optional/fold/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_head_0, "typecheck/success/prelude/Optional/head/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_head_1, "typecheck/success/prelude/Optional/head/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_head_2, "typecheck/success/prelude/Optional/head/2");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_last_0, "typecheck/success/prelude/Optional/last/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_last_1, "typecheck/success/prelude/Optional/last/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_last_2, "typecheck/success/prelude/Optional/last/2");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_length_0, "typecheck/success/prelude/Optional/length/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_length_1, "typecheck/success/prelude/Optional/length/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_map_0, "typecheck/success/prelude/Optional/map/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_map_1, "typecheck/success/prelude/Optional/map/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_null_0, "typecheck/success/prelude/Optional/null/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_null_1, "typecheck/success/prelude/Optional/null/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_toList_0, "typecheck/success/prelude/Optional/toList/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_toList_1, "typecheck/success/prelude/Optional/toList/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_unzip_0, "typecheck/success/prelude/Optional/unzip/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Optional_unzip_1, "typecheck/success/prelude/Optional/unzip/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concat_0, "typecheck/success/prelude/Text/concat/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concat_1, "typecheck/success/prelude/Text/concat/1");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concatMap_0, "typecheck/success/prelude/Text/concatMap/0");
-make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concatMap_1, "typecheck/success/prelude/Text/concatMap/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concatMapSep_0, "typecheck/success/prelude/Text/concatMapSep/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concatMapSep_1, "typecheck/success/prelude/Text/concatMapSep/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concatSep_0, "typecheck/success/prelude/Text/concatSep/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_prelude_Text_concatSep_1, "typecheck/success/prelude/Text/concatSep/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_recordOfRecordOfTypes, "typecheck/success/recordOfRecordOfTypes");
-// make_spec_test!(typecheck_success, spec_typecheck_success_recordOfTypes, "typecheck/success/recordOfTypes");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_access_0, "typecheck/success/simple/access/0");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_access_1, "typecheck/success/simple/access/1");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_alternativesAreTypes, "typecheck/success/simple/alternativesAreTypes");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_anonymousFunctionsInTypes, "typecheck/success/simple/anonymousFunctionsInTypes");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_fieldsAreTypes, "typecheck/success/simple/fieldsAreTypes");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_kindParameter, "typecheck/success/simple/kindParameter");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_mergeEquivalence, "typecheck/success/simple/mergeEquivalence");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_mixedFieldAccess, "typecheck/success/simple/mixedFieldAccess");
-// make_spec_test!(typecheck_success, spec_typecheck_success_simple_unionsOfTypes, "typecheck/success/simple/unionsOfTypes");
-// make_spec_test!(typecheck_failure, spec_typecheck_failure_combineMixedRecords, "typecheck/failure/combineMixedRecords");
-// make_spec_test!(typecheck_failure, spec_typecheck_failure_duplicateFields, "typecheck/failure/duplicateFields");
-make_spec_test!(typecheck_failure, spec_typecheck_failure_hurkensParadox, "typecheck/failure/hurkensParadox");
-// make_spec_test!(typecheck_failure, spec_typecheck_failure_mixedUnions, "typecheck/failure/mixedUnions");
-// make_spec_test!(typecheck_failure, spec_typecheck_failure_preferMixedRecords, "typecheck/failure/preferMixedRecords");
+// tc_success!(spec_typecheck_success_accessEncodedType, "accessEncodedType");
+// tc_success!(spec_typecheck_success_accessType, "accessType");
+tc_success!(spec_typecheck_success_prelude_Bool_and_0, "prelude/Bool/and/0");
+tc_success!(spec_typecheck_success_prelude_Bool_and_1, "prelude/Bool/and/1");
+tc_success!(spec_typecheck_success_prelude_Bool_build_0, "prelude/Bool/build/0");
+tc_success!(spec_typecheck_success_prelude_Bool_build_1, "prelude/Bool/build/1");
+tc_success!(spec_typecheck_success_prelude_Bool_even_0, "prelude/Bool/even/0");
+tc_success!(spec_typecheck_success_prelude_Bool_even_1, "prelude/Bool/even/1");
+tc_success!(spec_typecheck_success_prelude_Bool_even_2, "prelude/Bool/even/2");
+tc_success!(spec_typecheck_success_prelude_Bool_even_3, "prelude/Bool/even/3");
+tc_success!(spec_typecheck_success_prelude_Bool_fold_0, "prelude/Bool/fold/0");
+tc_success!(spec_typecheck_success_prelude_Bool_fold_1, "prelude/Bool/fold/1");
+tc_success!(spec_typecheck_success_prelude_Bool_not_0, "prelude/Bool/not/0");
+tc_success!(spec_typecheck_success_prelude_Bool_not_1, "prelude/Bool/not/1");
+tc_success!(spec_typecheck_success_prelude_Bool_odd_0, "prelude/Bool/odd/0");
+tc_success!(spec_typecheck_success_prelude_Bool_odd_1, "prelude/Bool/odd/1");
+tc_success!(spec_typecheck_success_prelude_Bool_odd_2, "prelude/Bool/odd/2");
+tc_success!(spec_typecheck_success_prelude_Bool_odd_3, "prelude/Bool/odd/3");
+tc_success!(spec_typecheck_success_prelude_Bool_or_0, "prelude/Bool/or/0");
+tc_success!(spec_typecheck_success_prelude_Bool_or_1, "prelude/Bool/or/1");
+tc_success!(spec_typecheck_success_prelude_Bool_show_0, "prelude/Bool/show/0");
+tc_success!(spec_typecheck_success_prelude_Bool_show_1, "prelude/Bool/show/1");
+// tc_success!(spec_typecheck_success_prelude_Double_show_0, "prelude/Double/show/0");
+// tc_success!(spec_typecheck_success_prelude_Double_show_1, "prelude/Double/show/1");
+// tc_success!(spec_typecheck_success_prelude_Integer_show_0, "prelude/Integer/show/0");
+// tc_success!(spec_typecheck_success_prelude_Integer_show_1, "prelude/Integer/show/1");
+// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_0, "prelude/Integer/toDouble/0");
+// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_1, "prelude/Integer/toDouble/1");
+tc_success!(spec_typecheck_success_prelude_List_all_0, "prelude/List/all/0");
+tc_success!(spec_typecheck_success_prelude_List_all_1, "prelude/List/all/1");
+tc_success!(spec_typecheck_success_prelude_List_any_0, "prelude/List/any/0");
+tc_success!(spec_typecheck_success_prelude_List_any_1, "prelude/List/any/1");
+tc_success!(spec_typecheck_success_prelude_List_build_0, "prelude/List/build/0");
+tc_success!(spec_typecheck_success_prelude_List_build_1, "prelude/List/build/1");
+tc_success!(spec_typecheck_success_prelude_List_concat_0, "prelude/List/concat/0");
+tc_success!(spec_typecheck_success_prelude_List_concat_1, "prelude/List/concat/1");
+tc_success!(spec_typecheck_success_prelude_List_concatMap_0, "prelude/List/concatMap/0");
+tc_success!(spec_typecheck_success_prelude_List_concatMap_1, "prelude/List/concatMap/1");
+tc_success!(spec_typecheck_success_prelude_List_filter_0, "prelude/List/filter/0");
+tc_success!(spec_typecheck_success_prelude_List_filter_1, "prelude/List/filter/1");
+tc_success!(spec_typecheck_success_prelude_List_fold_0, "prelude/List/fold/0");
+tc_success!(spec_typecheck_success_prelude_List_fold_1, "prelude/List/fold/1");
+tc_success!(spec_typecheck_success_prelude_List_fold_2, "prelude/List/fold/2");
+tc_success!(spec_typecheck_success_prelude_List_generate_0, "prelude/List/generate/0");
+tc_success!(spec_typecheck_success_prelude_List_generate_1, "prelude/List/generate/1");
+tc_success!(spec_typecheck_success_prelude_List_head_0, "prelude/List/head/0");
+tc_success!(spec_typecheck_success_prelude_List_head_1, "prelude/List/head/1");
+tc_success!(spec_typecheck_success_prelude_List_indexed_0, "prelude/List/indexed/0");
+tc_success!(spec_typecheck_success_prelude_List_indexed_1, "prelude/List/indexed/1");
+tc_success!(spec_typecheck_success_prelude_List_iterate_0, "prelude/List/iterate/0");
+tc_success!(spec_typecheck_success_prelude_List_iterate_1, "prelude/List/iterate/1");
+tc_success!(spec_typecheck_success_prelude_List_last_0, "prelude/List/last/0");
+tc_success!(spec_typecheck_success_prelude_List_last_1, "prelude/List/last/1");
+tc_success!(spec_typecheck_success_prelude_List_length_0, "prelude/List/length/0");
+tc_success!(spec_typecheck_success_prelude_List_length_1, "prelude/List/length/1");
+tc_success!(spec_typecheck_success_prelude_List_map_0, "prelude/List/map/0");
+tc_success!(spec_typecheck_success_prelude_List_map_1, "prelude/List/map/1");
+tc_success!(spec_typecheck_success_prelude_List_null_0, "prelude/List/null/0");
+tc_success!(spec_typecheck_success_prelude_List_null_1, "prelude/List/null/1");
+tc_success!(spec_typecheck_success_prelude_List_replicate_0, "prelude/List/replicate/0");
+tc_success!(spec_typecheck_success_prelude_List_replicate_1, "prelude/List/replicate/1");
+tc_success!(spec_typecheck_success_prelude_List_reverse_0, "prelude/List/reverse/0");
+tc_success!(spec_typecheck_success_prelude_List_reverse_1, "prelude/List/reverse/1");
+tc_success!(spec_typecheck_success_prelude_List_shifted_0, "prelude/List/shifted/0");
+tc_success!(spec_typecheck_success_prelude_List_shifted_1, "prelude/List/shifted/1");
+tc_success!(spec_typecheck_success_prelude_List_unzip_0, "prelude/List/unzip/0");
+tc_success!(spec_typecheck_success_prelude_List_unzip_1, "prelude/List/unzip/1");
+// tc_success!(spec_typecheck_success_prelude_Monoid_00, "prelude/Monoid/00");
+// tc_success!(spec_typecheck_success_prelude_Monoid_01, "prelude/Monoid/01");
+// tc_success!(spec_typecheck_success_prelude_Monoid_02, "prelude/Monoid/02");
+// tc_success!(spec_typecheck_success_prelude_Monoid_03, "prelude/Monoid/03");
+// tc_success!(spec_typecheck_success_prelude_Monoid_04, "prelude/Monoid/04");
+// tc_success!(spec_typecheck_success_prelude_Monoid_05, "prelude/Monoid/05");
+// tc_success!(spec_typecheck_success_prelude_Monoid_06, "prelude/Monoid/06");
+// tc_success!(spec_typecheck_success_prelude_Monoid_07, "prelude/Monoid/07");
+// tc_success!(spec_typecheck_success_prelude_Monoid_08, "prelude/Monoid/08");
+// tc_success!(spec_typecheck_success_prelude_Monoid_09, "prelude/Monoid/09");
+// tc_success!(spec_typecheck_success_prelude_Monoid_10, "prelude/Monoid/10");
+tc_success!(spec_typecheck_success_prelude_Natural_build_0, "prelude/Natural/build/0");
+tc_success!(spec_typecheck_success_prelude_Natural_build_1, "prelude/Natural/build/1");
+tc_success!(spec_typecheck_success_prelude_Natural_enumerate_0, "prelude/Natural/enumerate/0");
+tc_success!(spec_typecheck_success_prelude_Natural_enumerate_1, "prelude/Natural/enumerate/1");
+tc_success!(spec_typecheck_success_prelude_Natural_even_0, "prelude/Natural/even/0");
+tc_success!(spec_typecheck_success_prelude_Natural_even_1, "prelude/Natural/even/1");
+tc_success!(spec_typecheck_success_prelude_Natural_fold_0, "prelude/Natural/fold/0");
+tc_success!(spec_typecheck_success_prelude_Natural_fold_1, "prelude/Natural/fold/1");
+tc_success!(spec_typecheck_success_prelude_Natural_fold_2, "prelude/Natural/fold/2");
+tc_success!(spec_typecheck_success_prelude_Natural_isZero_0, "prelude/Natural/isZero/0");
+tc_success!(spec_typecheck_success_prelude_Natural_isZero_1, "prelude/Natural/isZero/1");
+tc_success!(spec_typecheck_success_prelude_Natural_odd_0, "prelude/Natural/odd/0");
+tc_success!(spec_typecheck_success_prelude_Natural_odd_1, "prelude/Natural/odd/1");
+tc_success!(spec_typecheck_success_prelude_Natural_product_0, "prelude/Natural/product/0");
+tc_success!(spec_typecheck_success_prelude_Natural_product_1, "prelude/Natural/product/1");
+// tc_success!(spec_typecheck_success_prelude_Natural_show_0, "prelude/Natural/show/0");
+// tc_success!(spec_typecheck_success_prelude_Natural_show_1, "prelude/Natural/show/1");
+tc_success!(spec_typecheck_success_prelude_Natural_sum_0, "prelude/Natural/sum/0");
+tc_success!(spec_typecheck_success_prelude_Natural_sum_1, "prelude/Natural/sum/1");
+// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_0, "prelude/Natural/toDouble/0");
+// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_1, "prelude/Natural/toDouble/1");
+// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_0, "prelude/Natural/toInteger/0");
+// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_1, "prelude/Natural/toInteger/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_all_0, "prelude/Optional/all/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_all_1, "prelude/Optional/all/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_any_0, "prelude/Optional/any/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_any_1, "prelude/Optional/any/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_build_0, "prelude/Optional/build/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_build_1, "prelude/Optional/build/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_concat_0, "prelude/Optional/concat/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_concat_1, "prelude/Optional/concat/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_concat_2, "prelude/Optional/concat/2");
+// tc_success!(spec_typecheck_success_prelude_Optional_filter_0, "prelude/Optional/filter/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_filter_1, "prelude/Optional/filter/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_fold_0, "prelude/Optional/fold/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_fold_1, "prelude/Optional/fold/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_head_0, "prelude/Optional/head/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_head_1, "prelude/Optional/head/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_head_2, "prelude/Optional/head/2");
+// tc_success!(spec_typecheck_success_prelude_Optional_last_0, "prelude/Optional/last/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_last_1, "prelude/Optional/last/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_last_2, "prelude/Optional/last/2");
+// tc_success!(spec_typecheck_success_prelude_Optional_length_0, "prelude/Optional/length/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_length_1, "prelude/Optional/length/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_map_0, "prelude/Optional/map/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_map_1, "prelude/Optional/map/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_null_0, "prelude/Optional/null/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_null_1, "prelude/Optional/null/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_toList_0, "prelude/Optional/toList/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_toList_1, "prelude/Optional/toList/1");
+// tc_success!(spec_typecheck_success_prelude_Optional_unzip_0, "prelude/Optional/unzip/0");
+// tc_success!(spec_typecheck_success_prelude_Optional_unzip_1, "prelude/Optional/unzip/1");
+tc_success!(spec_typecheck_success_prelude_Text_concat_0, "prelude/Text/concat/0");
+tc_success!(spec_typecheck_success_prelude_Text_concat_1, "prelude/Text/concat/1");
+tc_success!(spec_typecheck_success_prelude_Text_concatMap_0, "prelude/Text/concatMap/0");
+tc_success!(spec_typecheck_success_prelude_Text_concatMap_1, "prelude/Text/concatMap/1");
+// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_0, "prelude/Text/concatMapSep/0");
+// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_1, "prelude/Text/concatMapSep/1");
+// tc_success!(spec_typecheck_success_prelude_Text_concatSep_0, "prelude/Text/concatSep/0");
+// tc_success!(spec_typecheck_success_prelude_Text_concatSep_1, "prelude/Text/concatSep/1");
+// tc_success!(spec_typecheck_success_recordOfRecordOfTypes, "recordOfRecordOfTypes");
+// tc_success!(spec_typecheck_success_recordOfTypes, "recordOfTypes");
+// tc_success!(spec_typecheck_success_simple_access_0, "simple/access/0");
+// tc_success!(spec_typecheck_success_simple_access_1, "simple/access/1");
+// tc_success!(spec_typecheck_success_simple_alternativesAreTypes, "simple/alternativesAreTypes");
+// tc_success!(spec_typecheck_success_simple_anonymousFunctionsInTypes, "simple/anonymousFunctionsInTypes");
+// tc_success!(spec_typecheck_success_simple_fieldsAreTypes, "simple/fieldsAreTypes");
+// tc_success!(spec_typecheck_success_simple_kindParameter, "simple/kindParameter");
+// tc_success!(spec_typecheck_success_simple_mergeEquivalence, "simple/mergeEquivalence");
+// tc_success!(spec_typecheck_success_simple_mixedFieldAccess, "simple/mixedFieldAccess");
+// tc_success!(spec_typecheck_success_simple_unionsOfTypes, "simple/unionsOfTypes");
+
+// tc_failure!(spec_typecheck_failure_combineMixedRecords, "combineMixedRecords");
+// tc_failure!(spec_typecheck_failure_duplicateFields, "duplicateFields");
+tc_failure!(spec_typecheck_failure_hurkensParadox, "hurkensParadox");
+// tc_failure!(spec_typecheck_failure_mixedUnions, "mixedUnions");
+// tc_failure!(spec_typecheck_failure_preferMixedRecords, "preferMixedRecords");
+