From 86df87512966e8038d70624ab654262ce14a915c Mon Sep 17 00:00:00 2001
From: Eduardo Julian
Date: Mon, 12 Jul 2021 00:03:36 -0400
Subject: Better syntax for parallel-hierarchy imports.

---
 .gitignore                                         |   2 +
 documentation/bookmark/process.md                  |   1 +
 licentia/commands.md                               |   6 +-
 licentia/project.lux                               |   4 +
 licentia/source/program/licentia.lux               |  16 +-
 lux-js/commands.md                                 |  15 +-
 lux-jvm/commands.md                                |  12 +-
 lux-lua/commands.md                                |  15 +-
 lux-python/commands.md                             |  15 +-
 lux-ruby/commands.md                               |  15 +-
 stdlib/source/lux.lux                              | 104 +++++---
 stdlib/source/lux/ffi.old.lux                      |  30 +--
 stdlib/source/lux/time/day.lux                     |  34 ++-
 stdlib/source/lux/time/month.lux                   |  56 ++--
 stdlib/source/poly/lux/abstract/equivalence.lux    |   4 +-
 stdlib/source/poly/lux/abstract/functor.lux        |   4 +-
 stdlib/source/poly/lux/data/format/json.lux        |   4 +-
 stdlib/source/program/aedifex/artifact/type.lux    |   1 +
 stdlib/source/program/aedifex/command/build.lux    |  80 +++---
 stdlib/source/program/aedifex/command/test.lux     |  10 +-
 stdlib/source/program/aedifex/runtime.lux          |   3 +
 stdlib/source/spec/aedifex/repository.lux          |  11 +-
 stdlib/source/spec/lux/abstract/apply.lux          |   4 +-
 stdlib/source/spec/lux/abstract/codec.lux          |   4 +-
 stdlib/source/spec/lux/abstract/comonad.lux        |   4 +-
 stdlib/source/spec/lux/abstract/enum.lux           |   4 +-
 stdlib/source/spec/lux/abstract/equivalence.lux    |   4 +-
 stdlib/source/spec/lux/abstract/fold.lux           |   3 +-
 stdlib/source/spec/lux/abstract/functor.lux        |   4 +-
 .../spec/lux/abstract/functor/contravariant.lux    |   4 +-
 stdlib/source/spec/lux/abstract/hash.lux           |   4 +-
 stdlib/source/spec/lux/abstract/interval.lux       |   4 +-
 stdlib/source/spec/lux/abstract/monad.lux          |   4 +-
 stdlib/source/spec/lux/abstract/monoid.lux         |   4 +-
 stdlib/source/spec/lux/abstract/order.lux          |   4 +-
 stdlib/source/spec/lux/world/console.lux           |   4 +-
 stdlib/source/spec/lux/world/file.lux              |   7 +-
 stdlib/source/spec/lux/world/program.lux           |   4 +-
 stdlib/source/spec/lux/world/shell.lux             |   4 +-
 stdlib/source/test/aedifex/artifact.lux            |   9 +-
 stdlib/source/test/aedifex/artifact/extension.lux  |   4 +-
 stdlib/source/test/aedifex/artifact/snapshot.lux   |   9 +-
 .../test/aedifex/artifact/snapshot/build.lux       |   9 +-
 .../test/aedifex/artifact/snapshot/stamp.lux       |   9 +-
 .../source/test/aedifex/artifact/snapshot/time.lux |   9 +-
 .../test/aedifex/artifact/snapshot/version.lux     |   9 +-
 .../aedifex/artifact/snapshot/version/value.lux    |   9 +-
 stdlib/source/test/aedifex/artifact/time.lux       |   9 +-
 stdlib/source/test/aedifex/artifact/time/date.lux  |   4 +-
 stdlib/source/test/aedifex/artifact/time/time.lux  |   4 +-
 stdlib/source/test/aedifex/artifact/type.lux       |   4 +-
 stdlib/source/test/aedifex/artifact/versioning.lux |   9 +-
 stdlib/source/test/aedifex/cache.lux               |   4 +-
 stdlib/source/test/aedifex/cli.lux                 |   9 +-
 stdlib/source/test/aedifex/command.lux             |   4 +-
 stdlib/source/test/aedifex/command/auto.lux        |   7 +-
 stdlib/source/test/aedifex/command/build.lux       |  50 ++--
 stdlib/source/test/aedifex/command/clean.lux       |   4 +-
 stdlib/source/test/aedifex/command/deploy.lux      |   4 +-
 stdlib/source/test/aedifex/command/deps.lux        |   4 +-
 stdlib/source/test/aedifex/command/install.lux     |   4 +-
 stdlib/source/test/aedifex/command/pom.lux         |   4 +-
 stdlib/source/test/aedifex/command/test.lux        |  14 +-
 stdlib/source/test/aedifex/command/version.lux     |   4 +-
 stdlib/source/test/aedifex/dependency.lux          |   9 +-
 .../source/test/aedifex/dependency/deployment.lux  |   4 +-
 .../source/test/aedifex/dependency/resolution.lux  |   9 +-
 stdlib/source/test/aedifex/dependency/status.lux   |   9 +-
 stdlib/source/test/aedifex/hash.lux                |  11 +-
 stdlib/source/test/aedifex/input.lux               |   4 +-
 stdlib/source/test/aedifex/local.lux               |   4 +-
 stdlib/source/test/aedifex/metadata.lux            |   4 +-
 stdlib/source/test/aedifex/metadata/artifact.lux   |   9 +-
 stdlib/source/test/aedifex/metadata/snapshot.lux   |   9 +-
 stdlib/source/test/aedifex/package.lux             |   9 +-
 stdlib/source/test/aedifex/parser.lux              |   4 +-
 stdlib/source/test/aedifex/pom.lux                 |   4 +-
 stdlib/source/test/aedifex/profile.lux             |  11 +-
 stdlib/source/test/aedifex/project.lux             |  11 +-
 stdlib/source/test/aedifex/repository.lux          |   8 +-
 stdlib/source/test/aedifex/repository/identity.lux |   9 +-
 stdlib/source/test/aedifex/repository/local.lux    |   4 +-
 stdlib/source/test/aedifex/repository/origin.lux   |   9 +-
 stdlib/source/test/aedifex/repository/remote.lux   |   4 +-
 stdlib/source/test/aedifex/runtime.lux             |   4 +-
 stdlib/source/test/lux/abstract/apply.lux          |   4 +-
 stdlib/source/test/lux/abstract/codec.lux          |   4 +-
 stdlib/source/test/lux/abstract/comonad.lux        |   4 +-
 stdlib/source/test/lux/abstract/comonad/cofree.lux |  11 +-
 stdlib/source/test/lux/abstract/enum.lux           |   4 +-
 stdlib/source/test/lux/abstract/equivalence.lux    |  11 +-
 stdlib/source/test/lux/abstract/fold.lux           |   4 +-
 stdlib/source/test/lux/abstract/functor.lux        |   4 +-
 .../test/lux/abstract/functor/contravariant.lux    |   4 +-
 stdlib/source/test/lux/abstract/hash.lux           |  11 +-
 stdlib/source/test/lux/abstract/interval.lux       |   9 +-
 stdlib/source/test/lux/abstract/monad.lux          |   4 +-
 stdlib/source/test/lux/abstract/monad/free.lux     |  13 +-
 stdlib/source/test/lux/abstract/monoid.lux         |   4 +-
 stdlib/source/test/lux/abstract/order.lux          |  11 +-
 stdlib/source/test/lux/abstract/predicate.lux      |  13 +-
 stdlib/source/test/lux/control/concatenative.lux   |   4 +-
 .../source/test/lux/control/concurrency/actor.lux  |   4 +-
 .../source/test/lux/control/concurrency/atom.lux   |   4 +-
 stdlib/source/test/lux/control/concurrency/frp.lux |  13 +-
 .../test/lux/control/concurrency/promise.lux       |  13 +-
 .../test/lux/control/concurrency/semaphore.lux     |   4 +-
 stdlib/source/test/lux/control/concurrency/stm.lux |  13 +-
 .../source/test/lux/control/concurrency/thread.lux |   4 +-
 stdlib/source/test/lux/control/continuation.lux    |  13 +-
 stdlib/source/test/lux/control/exception.lux       |   4 +-
 stdlib/source/test/lux/control/function.lux        |   9 +-
 .../source/test/lux/control/function/contract.lux  |   4 +-
 stdlib/source/test/lux/control/function/memo.lux   |   4 +-
 stdlib/source/test/lux/control/function/mixin.lux  |   9 +-
 stdlib/source/test/lux/control/function/mutual.lux |   4 +-
 stdlib/source/test/lux/control/io.lux              |  13 +-
 stdlib/source/test/lux/control/parser.lux          |  13 +-
 stdlib/source/test/lux/control/parser/analysis.lux |   4 +-
 stdlib/source/test/lux/control/parser/binary.lux   |   4 +-
 stdlib/source/test/lux/control/parser/cli.lux      |   4 +-
 stdlib/source/test/lux/control/parser/code.lux     |   4 +-
 .../source/test/lux/control/parser/environment.lux |   4 +-
 stdlib/source/test/lux/control/parser/json.lux     |   4 +-
 .../source/test/lux/control/parser/synthesis.lux   |   4 +-
 stdlib/source/test/lux/control/parser/text.lux     |   4 +-
 stdlib/source/test/lux/control/parser/tree.lux     |   4 +-
 stdlib/source/test/lux/control/parser/type.lux     |   4 +-
 stdlib/source/test/lux/control/parser/xml.lux      |   4 +-
 stdlib/source/test/lux/control/pipe.lux            |   4 +-
 stdlib/source/test/lux/control/reader.lux          |  13 +-
 stdlib/source/test/lux/control/region.lux          |  13 +-
 stdlib/source/test/lux/control/remember.lux        |   4 +-
 .../test/lux/control/security/capability.lux       |   4 +-
 stdlib/source/test/lux/control/security/policy.lux |  13 +-
 stdlib/source/test/lux/control/state.lux           |  13 +-
 stdlib/source/test/lux/control/thread.lux          |  13 +-
 stdlib/source/test/lux/control/try.lux             |  15 +-
 stdlib/source/test/lux/control/writer.lux          |  13 +-
 stdlib/source/test/lux/data/binary.lux             |  11 +-
 stdlib/source/test/lux/data/bit.lux                |  15 +-
 stdlib/source/test/lux/data/collection/array.lux   |  15 +-
 stdlib/source/test/lux/data/collection/bits.lux    |   9 +-
 .../source/test/lux/data/collection/dictionary.lux |  11 +-
 .../lux/data/collection/dictionary/ordered.lux     |   9 +-
 .../test/lux/data/collection/dictionary/plist.lux  |   9 +-
 stdlib/source/test/lux/data/collection/list.lux    |  21 +-
 stdlib/source/test/lux/data/collection/queue.lux   |  11 +-
 .../test/lux/data/collection/queue/priority.lux    |   4 +-
 stdlib/source/test/lux/data/collection/row.lux     |  19 +-
 .../source/test/lux/data/collection/sequence.lux   |  11 +-
 stdlib/source/test/lux/data/collection/set.lux     |  13 +-
 .../source/test/lux/data/collection/set/multi.lux  |  11 +-
 .../test/lux/data/collection/set/ordered.lux       |   9 +-
 stdlib/source/test/lux/data/collection/stack.lux   |  11 +-
 stdlib/source/test/lux/data/collection/tree.lux    |  13 +-
 .../test/lux/data/collection/tree/finger.lux       |   4 +-
 .../test/lux/data/collection/tree/zipper.lux       |  13 +-
 stdlib/source/test/lux/data/color.lux              |  13 +-
 stdlib/source/test/lux/data/color/named.lux        |   4 +-
 stdlib/source/test/lux/data/format/binary.lux      |   9 +-
 stdlib/source/test/lux/data/format/json.lux        |  11 +-
 stdlib/source/test/lux/data/format/tar.lux         |   4 +-
 stdlib/source/test/lux/data/format/xml.lux         |  11 +-
 stdlib/source/test/lux/data/identity.lux           |  15 +-
 stdlib/source/test/lux/data/lazy.lux               |  15 +-
 stdlib/source/test/lux/data/maybe.lux              |  19 +-
 stdlib/source/test/lux/data/name.lux               |  15 +-
 stdlib/source/test/lux/data/product.lux            |   9 +-
 stdlib/source/test/lux/data/sum.lux                |   9 +-
 stdlib/source/test/lux/data/text.lux               |  15 +-
 stdlib/source/test/lux/data/text/buffer.lux        |   4 +-
 stdlib/source/test/lux/data/text/encoding.lux      |   9 +-
 stdlib/source/test/lux/data/text/encoding/utf8.lux |   9 +-
 stdlib/source/test/lux/data/text/escape.lux        |   4 +-
 stdlib/source/test/lux/data/text/format.lux        |   9 +-
 stdlib/source/test/lux/data/text/regex.lux         |   4 +-
 stdlib/source/test/lux/data/text/unicode/block.lux |  13 +-
 stdlib/source/test/lux/data/text/unicode/set.lux   |   9 +-
 stdlib/source/test/lux/debug.lux                   |   4 +-
 stdlib/source/test/lux/extension.lux               |   4 +-
 stdlib/source/test/lux/ffi.js.lux                  |   4 +-
 stdlib/source/test/lux/ffi.jvm.lux                 |   4 +-
 stdlib/source/test/lux/ffi.lua.lux                 |   4 +-
 stdlib/source/test/lux/ffi.old.lux                 | 297 +++++++++++++--------
 stdlib/source/test/lux/ffi.php.lux                 |   4 +-
 stdlib/source/test/lux/ffi.py.lux                  |   4 +-
 stdlib/source/test/lux/ffi.rb.lux                  |   4 +-
 stdlib/source/test/lux/ffi.scm.lux                 |   4 +-
 stdlib/source/test/lux/locale.lux                  |  11 +-
 stdlib/source/test/lux/locale/language.lux         |   9 +-
 stdlib/source/test/lux/locale/territory.lux        |   9 +-
 stdlib/source/test/lux/macro.lux                   |   4 +-
 stdlib/source/test/lux/macro/code.lux              |   9 +-
 stdlib/source/test/lux/macro/local.lux             |   4 +-
 stdlib/source/test/lux/macro/poly.lux              |   4 +-
 stdlib/source/test/lux/macro/poly/equivalence.lux  |   9 +-
 stdlib/source/test/lux/macro/poly/functor.lux      |   4 +-
 stdlib/source/test/lux/macro/poly/json.lux         |  14 +-
 stdlib/source/test/lux/macro/syntax.lux            |   4 +-
 .../source/test/lux/macro/syntax/annotations.lux   |   9 +-
 stdlib/source/test/lux/macro/syntax/check.lux      |   9 +-
 .../source/test/lux/macro/syntax/declaration.lux   |   9 +-
 stdlib/source/test/lux/macro/syntax/definition.lux |   9 +-
 stdlib/source/test/lux/macro/syntax/export.lux     |   4 +-
 stdlib/source/test/lux/macro/syntax/input.lux      |   9 +-
 .../source/test/lux/macro/syntax/type/variable.lux |   9 +-
 stdlib/source/test/lux/macro/template.lux          |   4 +-
 stdlib/source/test/lux/math.lux                    |   4 +-
 stdlib/source/test/lux/math/infix.lux              |   4 +-
 stdlib/source/test/lux/math/logic/continuous.lux   |   9 +-
 stdlib/source/test/lux/math/logic/fuzzy.lux        |  11 +-
 stdlib/source/test/lux/math/modular.lux            |  15 +-
 stdlib/source/test/lux/math/modulus.lux            |   4 +-
 stdlib/source/test/lux/math/number.lux             |   4 +-
 stdlib/source/test/lux/math/number/complex.lux     |  13 +-
 stdlib/source/test/lux/math/number/frac.lux        |  17 +-
 stdlib/source/test/lux/math/number/i16.lux         |   9 +-
 stdlib/source/test/lux/math/number/i32.lux         |   9 +-
 stdlib/source/test/lux/math/number/i64.lux         |  13 +-
 stdlib/source/test/lux/math/number/i8.lux          |   9 +-
 stdlib/source/test/lux/math/number/int.lux         |  21 +-
 stdlib/source/test/lux/math/number/nat.lux         |  21 +-
 stdlib/source/test/lux/math/number/ratio.lux       |  15 +-
 stdlib/source/test/lux/math/number/rev.lux         |  21 +-
 stdlib/source/test/lux/meta.lux                    |  13 +-
 stdlib/source/test/lux/meta/annotation.lux         |   4 +-
 stdlib/source/test/lux/meta/location.lux           |   9 +-
 stdlib/source/test/lux/program.lux                 |   4 +-
 stdlib/source/test/lux/target.lux                  |   4 +-
 stdlib/source/test/lux/target/jvm.lux              |   4 +-
 stdlib/source/test/lux/test.lux                    |   4 +-
 stdlib/source/test/lux/time.lux                    |  15 +-
 stdlib/source/test/lux/time/date.lux               |  15 +-
 stdlib/source/test/lux/time/day.lux                |  30 ++-
 stdlib/source/test/lux/time/duration.lux           |  17 +-
 stdlib/source/test/lux/time/instant.lux            |  15 +-
 stdlib/source/test/lux/time/month.lux              |  30 ++-
 stdlib/source/test/lux/time/year.lux               |  13 +-
 .../compiler/language/lux/phase/analysis/case.lux  |   4 +-
 .../language/lux/phase/analysis/function.lux       |   4 +-
 .../language/lux/phase/analysis/primitive.lux      |   4 +-
 .../language/lux/phase/analysis/reference.lux      |   4 +-
 .../language/lux/phase/analysis/structure.lux      |   4 +-
 .../language/lux/phase/extension/analysis/lux.lux  |   4 +-
 .../compiler/language/lux/phase/synthesis/case.lux |   4 +-
 .../language/lux/phase/synthesis/function.lux      |   4 +-
 .../compiler/language/lux/phase/synthesis/loop.lux |   4 +-
 .../language/lux/phase/synthesis/primitive.lux     |   4 +-
 .../language/lux/phase/synthesis/structure.lux     |   4 +-
 .../language/lux/phase/synthesis/variable.lux      |   4 +-
 .../test/lux/tool/compiler/language/lux/syntax.lux |   4 +-
 stdlib/source/test/lux/type.lux                    |   9 +-
 stdlib/source/test/lux/type/abstract.lux           |   4 +-
 stdlib/source/test/lux/type/check.lux              |  13 +-
 stdlib/source/test/lux/type/dynamic.lux            |   4 +-
 stdlib/source/test/lux/type/implicit.lux           |   4 +-
 stdlib/source/test/lux/type/quotient.lux           |   9 +-
 stdlib/source/test/lux/type/refinement.lux         |   4 +-
 stdlib/source/test/lux/type/resource.lux           |   4 +-
 stdlib/source/test/lux/type/unit.lux               |  13 +-
 stdlib/source/test/lux/type/variance.lux           |   4 +-
 stdlib/source/test/lux/world/console.lux           |   8 +-
 stdlib/source/test/lux/world/file.lux              |   8 +-
 stdlib/source/test/lux/world/file/watch.lux        |   4 +-
 stdlib/source/test/lux/world/input/keyboard.lux    |   4 +-
 stdlib/source/test/lux/world/net/http/client.lux   |   4 +-
 stdlib/source/test/lux/world/net/http/status.lux   |   4 +-
 .../test/lux/world/output/video/resolution.lux     |  11 +-
 stdlib/source/test/lux/world/program.lux           |   8 +-
 stdlib/source/test/lux/world/shell.lux             |   8 +-
 271 files changed, 1411 insertions(+), 1315 deletions(-)

diff --git a/.gitignore b/.gitignore
index 178401ebb..ded3e74bf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,8 @@ pom.xml.asc
 /lux-js/source/lux
 /lux-js/source/program
 /lux-js/source/spec
+/lux-js/node_based_compiler.js
+/lux-js/lux.js
 
 /lux-python/target
 /lux-python/source/lux.lux
diff --git a/documentation/bookmark/process.md b/documentation/bookmark/process.md
index 5c08d58cf..be1326cbb 100644
--- a/documentation/bookmark/process.md
+++ b/documentation/bookmark/process.md
@@ -1,5 +1,6 @@
 # Reference
 
+1. [Conventional Commits: A specification for adding human and machine readable meaning to commit messages](https://www.conventionalcommits.org/en/v1.0.0/)
 1. [Get your work recognized: write a brag document](https://jvns.ca/blog/brag-documents/)
 1. [Danger: Formalize your Pull Request etiquette.](https://github.com/danger/danger)
 1. [No code reviews by default](https://raycast.com/blog/no-code-reviews-by-default/)
diff --git a/licentia/commands.md b/licentia/commands.md
index b852e22cf..435a2fd57 100644
--- a/licentia/commands.md
+++ b/licentia/commands.md
@@ -1,4 +1,4 @@
-## Build
+# Build
 
 ```
 ## Develop
@@ -7,7 +7,7 @@ cd ~/lux/licentia/ \
 && lux auto build
 ```
 
-## Test
+# Test
 
 ```
 ## Develop
@@ -16,7 +16,7 @@ cd ~/lux/licentia/ \
 && lux auto test
 ```
 
-## Run
+# Run
 
 ```
 ## Re-generate Lux's license.
diff --git a/licentia/project.lux b/licentia/project.lux
index 9e8a3282f..6c31af881 100644
--- a/licentia/project.lux
+++ b/licentia/project.lux
@@ -9,6 +9,10 @@
  
  #dependencies [["com.github.luxlang" "stdlib" "0.6.0-SNAPSHOT" "jar"]]
  #compiler ["com.github.luxlang" "lux-jvm" "0.6.0-SNAPSHOT" "jar"]
+ ## #compiler ["com.github.luxlang" "lux-js" "0.6.0-SNAPSHOT" "js"]
+ ## #compiler ["com.github.luxlang" "lux-python" "0.6.0-SNAPSHOT" "jar"]
+ ## #compiler ["com.github.luxlang" "lux-lua" "0.6.0-SNAPSHOT" "jar"]
+ ## #compiler ["com.github.luxlang" "lux-ruby" "0.6.0-SNAPSHOT" "jar"]
 
  #program "program/licentia"
  #test "test/licentia"}
diff --git a/licentia/source/program/licentia.lux b/licentia/source/program/licentia.lux
index f1a1503b4..44babb828 100644
--- a/licentia/source/program/licentia.lux
+++ b/licentia/source/program/licentia.lux
@@ -36,7 +36,7 @@
     [format
      ["." json]]]
    [world
-    ["." file (#+ Path File)]]]
+    ["." file]]]
   ["." / #_
    ["#." input]
    ["#." output]])
@@ -49,10 +49,11 @@
   ["#::."
    (trim [] java/lang/String)])
 
-(def: default_output_file "LICENSE")
+(def: default_output_file
+  "LICENSE.txt")
 
 (def: (success_message output)
-  (-> Path Text)
+  (-> file.Path Text)
   (format "Your license has been made!" text.new_line
           "Check the file " output "."))
 
@@ -62,8 +63,7 @@
   (do io.monad
     [?done (: (IO (Try Any))
               (do (try.with io.monad)
-                [file (!.use (\ file.default file) [input])
-                 blob (!.use (\ file content) [])
+                [blob (\ file.default read input)
                  document (io\wrap (do {! try.monad}
                                      [raw_json (\ utf8.codec decode blob)
                                       json (|> raw_json
@@ -71,10 +71,8 @@
                                                (\ json.codec decode))]
                                      (|> json
                                          (<json>.run /input.license)
-                                         (\ ! map /output.license))))
-                 output_file (: (IO (Try (File IO)))
-                                (file.get_file io.monad file.default output))]
-                (!.use (\ output_file over_write) (\ utf8.codec encode document))))]
+                                         (\ ! map /output.license))))]
+                (\ file.default write (\ utf8.codec encode document) output)))]
     (wrap (debug.log! (case ?done
                         (#try.Success _)
                         (success_message output)
diff --git a/lux-js/commands.md b/lux-js/commands.md
index b1d974d69..b92d902ef 100644
--- a/lux-js/commands.md
+++ b/lux-js/commands.md
@@ -1,13 +1,11 @@
-# JavaScript compiler
-
-## Test
+# Test
 
 ```
 cd ~/lux/lux-js/ && lein lux auto test
 cd ~/lux/lux-js/ && lein clean && lein lux auto test
 ```
 
-## Build
+# Build
 
 ```
 cd ~/lux/lux-js/ && lein lux auto build
@@ -32,7 +30,7 @@ cd ~/lux/lux-js/ \
 && mv target/program.js lux.js
 ```
 
-## Try
+# Try
 
 ```
 ## Compile Lux's Standard Library's tests using a JS/Node-based compiler.
@@ -42,3 +40,10 @@ cd ~/lux/stdlib/ \
 && node ~/lux/stdlib/target/program.js
 ```
 
+# Deploy
+
+```
+cd ~/lux/lux-js/ \
+&& mvn install:install-file -Dfile=lux.js -DgroupId=com.github.luxlang -DartifactId=lux-js -Dversion=0.6.0-SNAPSHOT -Dpackaging=js
+```
+
diff --git a/lux-jvm/commands.md b/lux-jvm/commands.md
index 325023dd6..2dd7cb2f5 100644
--- a/lux-jvm/commands.md
+++ b/lux-jvm/commands.md
@@ -1,12 +1,10 @@
-# JVM compiler
-
-## Test
+# Test
 
 ```
 cd ~/lux/lux-jvm/ && lein clean && lein lux auto test
 ```
 
-## Build
+# Build
 
 ```
 ## Use bootstrapping compiler to build new JVM compiler
@@ -15,13 +13,13 @@ cd ~/lux/lux-jvm/ \
 && lein lux auto build
 ```
 
-## REPL
+# REPL
 
 ```
 cd ~/lux/lux-jvm/ && java -jar target/program.jar repl --source ~/lux/stdlib/source --target ~/lux/stdlib/target
 ```
 
-## Try
+# Try
 
 ```
 cd ~/lux/lux-jvm/ && time java -jar target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux
@@ -38,7 +36,7 @@ cd ~/lux/stdlib/ \
 && java -jar ~/lux/stdlib/target/program.jar
 ```
 
-## Deploy
+# Deploy
 
 ```
 cd ~/lux/lux-jvm/ \
diff --git a/lux-lua/commands.md b/lux-lua/commands.md
index f78634aec..769ea10d8 100644
--- a/lux-lua/commands.md
+++ b/lux-lua/commands.md
@@ -1,13 +1,11 @@
-# Lua compiler
-
-## Test
+# Test
 
 ```
 cd ~/lux/lux-lua/ && lein lux auto test
 cd ~/lux/lux-lua/ && lein clean && lein lux auto test
 ```
 
-## Build
+# Build
 
 ```
 ## Develop
@@ -23,7 +21,7 @@ cd ~/lux/lux-lua/ \
 && mv target/program.jar jvm_based_compiler.jar
 ```
 
-## Try
+# Try
 
 ```
 ## Compile Lux's Standard Library's tests using a JVM-based compiler.
@@ -33,3 +31,10 @@ cd ~/lux/stdlib/ \
 && ~/lua-5.4.2/install/bin/lua ~/lux/stdlib/target/program.lua
 ```
 
+# Deploy
+
+```
+cd ~/lux/lux-lua/ \
+&& mvn install:install-file -Dfile=jvm_based_compiler.jar -DgroupId=com.github.luxlang -DartifactId=lux-lua -Dversion=0.6.0-SNAPSHOT -Dpackaging=jar
+```
+
diff --git a/lux-python/commands.md b/lux-python/commands.md
index 40203411d..7de744436 100644
--- a/lux-python/commands.md
+++ b/lux-python/commands.md
@@ -1,13 +1,11 @@
-# Python compiler
-
-## Test
+# Test
 
 ```
 cd ~/lux/lux-python/ && lein lux auto test
 cd ~/lux/lux-python/ && lein clean && lein lux auto test
 ```
 
-## Build
+# Build
 
 ```
 ## Develop
@@ -22,7 +20,7 @@ cd ~/lux/lux-python/ \
 && mv target/program.jar jvm_based_compiler.jar
 ```
 
-## Try
+# Try
 
 ```
 ## Compile Lux's Standard Library's tests using a JVM-based compiler.
@@ -32,3 +30,10 @@ cd ~/lux/stdlib/ \
 && python3 ~/lux/stdlib/target/program.py
 ```
 
+# Deploy
+
+```
+cd ~/lux/lux-python/ \
+&& mvn install:install-file -Dfile=jvm_based_compiler.jar -DgroupId=com.github.luxlang -DartifactId=lux-python -Dversion=0.6.0-SNAPSHOT -Dpackaging=jar
+```
+
diff --git a/lux-ruby/commands.md b/lux-ruby/commands.md
index 741772d2e..2fb1588b0 100644
--- a/lux-ruby/commands.md
+++ b/lux-ruby/commands.md
@@ -1,13 +1,11 @@
-# Ruby compiler
-
-## Test
+# Test
 
 ```
 cd ~/lux/lux-ruby/ && lein lux auto test
 cd ~/lux/lux-ruby/ && lein clean && lein lux auto test
 ```
 
-## Build
+# Build
 
 ```
 ## Develop
@@ -22,7 +20,7 @@ cd ~/lux/lux-ruby/ \
 && mv target/program.jar jvm_based_compiler.jar
 ```
 
-## Try
+# Try
 
 ```
 ## Compile Lux's Standard Library's tests using a JVM-based compiler.
@@ -32,3 +30,10 @@ cd ~/lux/stdlib/ \
 && RUBY_THREAD_VM_STACK_SIZE=15700000 ruby ~/lux/stdlib/target/program.rb
 ```
 
+# Deploy
+
+```
+cd ~/lux/lux-ruby/ \
+&& mvn install:install-file -Dfile=jvm_based_compiler.jar -DgroupId=com.github.luxlang -DartifactId=lux-ruby -Dversion=0.6.0-SNAPSHOT -Dpackaging=jar
+```
+
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index bd65c86da..da491b2c8 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -3764,24 +3764,24 @@
     _
     (return [#.Nil parts])))
 
-(def: (split! at x)
+(def: (text\split! at x)
   (-> Nat Text [Text Text])
   [("lux text clip" 0 at x)
    ("lux text clip" at (|> x "lux text size" ("lux i64 -" at)) x)])
 
-(def: (split_with token sample)
+(def: (text\split_with token sample)
   (-> Text Text (Maybe [Text Text]))
   (do ..maybe_monad
     [index (..index_of token sample)
-     #let [[pre post'] (split! index sample)
-           [_ post] (split! ("lux text size" token) post')]]
+     #let [[pre post'] (text\split! index sample)
+           [_ post] (text\split! ("lux text size" token) post')]]
     (wrap [pre post])))
 
 (def: (replace_all pattern replacement template)
   (-> Text Text Text Text)
   ((: (-> Text Text Text)
       (function (recur left right)
-        (case (..split_with pattern right)
+        (case (..text\split_with pattern right)
           (#.Some [pre post])
           (recur ($_ "lux text concat" left pre replacement) post)
 
@@ -3798,7 +3798,33 @@
       (replace_all ..self_reference self)
       (replace_all ..contextual_reference context)))
 
-(def: #export module_separator "/")
+(def: #export module_separator
+  "/")
+
+(def: parallel_hierarchy_sigil
+  "\")
+
+(def: (normalize_parallel_path' hierarchy root)
+  (-> Text Text Text)
+  (case [(text\split_with ..module_separator hierarchy)
+         (text\split_with ..parallel_hierarchy_sigil root)]
+    [(#.Some [_ hierarchy'])
+     (#.Some ["" root'])]
+    (normalize_parallel_path' hierarchy' root')
+
+    _
+    (case root
+      "" hierarchy
+      _ ($_ text\compose root ..module_separator hierarchy))))
+
+(def: (normalize_parallel_path hierarchy root)
+  (-> Text Text (Maybe Text))
+  (case (text\split_with ..parallel_hierarchy_sigil root)
+    (#.Some ["" root'])
+    (#.Some (normalize_parallel_path' hierarchy root'))
+
+    _
+    #.None))
 
 (def: (count_relatives relatives input)
   (-> Nat Text Nat)
@@ -3891,23 +3917,36 @@
                                 ## Nested
                                 (^ [_ (#Tuple (list& [_ (#Identifier ["" m_name])] extra))])
                                 (do meta_monad
-                                  [import_name (clean_module nested? relative_root m_name)
+                                  [import_name (case (normalize_parallel_path relative_root m_name)
+                                                 (#.Some parallel_path)
+                                                 (wrap parallel_path)
+
+                                                 #.None
+                                                 (clean_module nested? relative_root m_name))
                                    referral+extra (parse_referrals extra)
                                    #let [[referral extra] referral+extra]
                                    openings+extra (parse_openings extra)
                                    #let [[openings extra] openings+extra]
                                    sub_imports (parse_imports #1 import_name context_alias extra)]
                                   (wrap (case [referral openings]
-                                          [#Nothing #Nil] sub_imports
-                                          _               (list& {#import_name import_name
-                                                                  #import_alias #None
-                                                                  #import_refer {#refer_defs referral
-                                                                                 #refer_open openings}}
-                                                                 sub_imports))))
+                                          [#Nothing #Nil]
+                                          sub_imports
+                                          
+                                          _
+                                          (list& {#import_name import_name
+                                                  #import_alias #None
+                                                  #import_refer {#refer_defs referral
+                                                                 #refer_open openings}}
+                                                 sub_imports))))
 
                                 (^ [_ (#Tuple (list& [_ (#Text alias)] [_ (#Identifier ["" m_name])] extra))])
                                 (do meta_monad
-                                  [import_name (clean_module nested? relative_root m_name)
+                                  [import_name (case (normalize_parallel_path relative_root m_name)
+                                                 (#.Some parallel_path)
+                                                 (wrap parallel_path)
+
+                                                 #.None
+                                                 (clean_module nested? relative_root m_name))
                                    referral+extra (parse_referrals extra)
                                    #let [[referral extra] referral+extra]
                                    openings+extra (parse_openings extra)
@@ -3915,34 +3954,17 @@
                                          de_aliased (de_alias context_alias m_name alias)]
                                    sub_imports (parse_imports #1 import_name de_aliased extra)]
                                   (wrap (case [referral openings]
-                                          [#Ignore #Nil] sub_imports
-                                          _              (list& {#import_name import_name
-                                                                 #import_alias (#Some de_aliased)
-                                                                 #import_refer {#refer_defs referral
-                                                                                #refer_open openings}}
-                                                                sub_imports))))
-
-                                ## Parallel
-                                (^ [_ (#Record (list [[_ (#Tuple (list [_ (#Nat alteration)]
-                                                                       [_ (#Tag ["" domain])]))]
-                                                      parallel_tree]))])
-                                (do meta_monad
-                                  [parallel_imports (parse_imports nested? relative_root context_alias (list parallel_tree))]
-                                  (wrap (list\map (alter_domain alteration domain) parallel_imports)))
-
-                                (^ [_ (#Record (list [[_ (#Nat alteration)]
-                                                      parallel_tree]))])
-                                (do meta_monad
-                                  [parallel_imports (parse_imports nested? relative_root context_alias (list parallel_tree))]
-                                  (wrap (list\map (alter_domain alteration "") parallel_imports)))
-
-                                (^ [_ (#Record (list [[_ (#Tag ["" domain])]
-                                                      parallel_tree]))])
-                                (do meta_monad
-                                  [parallel_imports (parse_imports nested? relative_root context_alias (list parallel_tree))
-                                   #let [alteration (list\size (text\split_all_with ..module_separator domain))]]
-                                  (wrap (list\map (alter_domain alteration domain) parallel_imports)))
+                                          [#Ignore #Nil]
+                                          sub_imports
+                                          
+                                          _
+                                          (list& {#import_name import_name
+                                                  #import_alias (#Some de_aliased)
+                                                  #import_refer {#refer_defs referral
+                                                                 #refer_open openings}}
+                                                 sub_imports))))
 
+                                ## Unrecognized syntax.
                                 _
                                 (do meta_monad
                                   [current_module current_module_name]
diff --git a/stdlib/source/lux/ffi.old.lux b/stdlib/source/lux/ffi.old.lux
index b5aac71bd..9e6a642ed 100644
--- a/stdlib/source/lux/ffi.old.lux
+++ b/stdlib/source/lux/ffi.old.lux
@@ -267,8 +267,8 @@
   (-> Text Text)
   (text.replace_all "/" "."))
 
-(def: (generic_class->type' mode type_params in_array? name+params
-                            class->type')
+(def: (generic_class_to_type' mode type_params in_array? name+params
+                              class_to_type')
   (-> Primitive_Mode (List Type_Parameter) Bit [Text (List GenericType)]
       (-> Primitive_Mode (List Type_Parameter) Bit GenericType Code)
       Code)
@@ -283,10 +283,10 @@
     
     [[name params] _ _]
     (let [name (sanitize name)
-          =params (list\map (class->type' mode type_params in_array?) params)]
+          =params (list\map (class_to_type' mode type_params in_array?) params)]
       (` (primitive (~ (code.text name)) [(~+ =params)])))))
 
-(def: (class->type' mode type_params in_array? class)
+(def: (class_to_type' mode type_params in_array? class)
   (-> Primitive_Mode (List Type_Parameter) Bit GenericType Code)
   (case class
     (#GenericTypeVar name)
@@ -298,26 +298,26 @@
       (code.identifier ["" name])
 
       (#.Some [pname pbounds])
-      (class->type' mode type_params in_array? (maybe.assume (list.head pbounds))))
+      (class_to_type' mode type_params in_array? (maybe.assume (list.head pbounds))))
     
     (#GenericClass name+params)
-    (generic_class->type' mode type_params in_array? name+params
-                          class->type')
+    (generic_class_to_type' mode type_params in_array? name+params
+                            class_to_type')
 
     (#GenericArray param)
-    (let [=param (class->type' mode type_params #1 param)]
+    (let [=param (class_to_type' mode type_params #1 param)]
       (` ((~! array.Array) (~ =param))))
 
     (^or (#GenericWildcard #.None) (#GenericWildcard (#.Some [#LowerBound _])))
     (` .Any)
 
     (#GenericWildcard (#.Some [#UpperBound upper_bound]))
-    (class->type' mode type_params in_array? upper_bound)
+    (class_to_type' mode type_params in_array? upper_bound)
     ))
 
-(def: (class->type mode type_params class)
+(def: (class_to_type mode type_params class)
   (-> Primitive_Mode (List Type_Parameter) GenericType Code)
-  (class->type' mode type_params #0 class))
+  (class_to_type' mode type_params #0 class))
 
 (def: (type_param_type$ [name bounds])
   (-> Type_Parameter Code)
@@ -332,7 +332,7 @@
                                  (code.identifier ["" pname])
 
                                  (#.Cons bound1 _)
-                                 (class->type #ManualPrM class_params bound1))))
+                                 (class_to_type #ManualPrM class_params bound1))))
                           class_params)]
     (` (primitive (~ (code.text (sanitize class_name)))
                   [(~+ =params)]))))
@@ -1398,7 +1398,7 @@
                                         import_member_args))
                arg_types (list\map (: (-> [Bit GenericType] Code)
                                       (function (_ [maybe? arg])
-                                        (let [arg_type (class->type (get@ #import_member_mode commons) type_params arg)]
+                                        (let [arg_type (class_to_type (get@ #import_member_mode commons) type_params arg)]
                                           (if maybe?
                                             (` (Maybe (~ arg_type)))
                                             arg_type))))
@@ -1567,7 +1567,7 @@
       (#FieldAccessDecl fad)
       (do meta.monad
         [#let [(^open ".") fad
-               base_gtype (class->type import_field_mode type_params import_field_type)
+               base_gtype (class_to_type import_field_mode type_params import_field_type)
                classC (class_decl_type$ class)
                typeC (if import_field_maybe?
                        (` (Maybe (~ base_gtype)))
@@ -1825,4 +1825,4 @@
   (wrap (list (` ("jvm object class" (~ (code.text (simple_class$ (list) type))))))))
 
 (syntax: #export (type {type (..generic_type^ (list))})
-  (wrap (list (class->type #ManualPrM (list) type))))
+  (wrap (list (..class_to_type #ManualPrM (list) type))))
diff --git a/stdlib/source/lux/time/day.lux b/stdlib/source/lux/time/day.lux
index 602c9261f..57c0fae13 100644
--- a/stdlib/source/lux/time/day.lux
+++ b/stdlib/source/lux/time/day.lux
@@ -10,6 +10,8 @@
     ["." exception (#+ exception:)]]
    [data
     ["." text]]
+   [macro
+    ["." template]]
    [math
     [number
      ["n" nat]]]])
@@ -95,20 +97,24 @@
   
   (def: (encode value)
     (case value
-      #Monday    "Monday"
-      #Tuesday   "Tuesday"
-      #Wednesday "Wednesday"
-      #Thursday  "Thursday"
-      #Friday    "Friday"
-      #Saturday  "Saturday"
-      #Sunday    "Sunday"))
+      (^template [<tag>]
+        [<tag> (template.text [<tag>])])
+      ([#..Monday]
+       [#..Tuesday]
+       [#..Wednesday]
+       [#..Thursday]
+       [#..Friday]
+       [#..Saturday]
+       [#..Sunday])))
   (def: (decode value)
     (case value
-      "Monday"    (#try.Success #..Monday)
-      "Tuesday"   (#try.Success #..Tuesday)
-      "Wednesday" (#try.Success #..Wednesday)
-      "Thursday"  (#try.Success #..Thursday)
-      "Friday"    (#try.Success #..Friday)
-      "Saturday"  (#try.Success #..Saturday)
-      "Sunday"    (#try.Success #..Sunday)
+      (^template [<tag>]
+        [(^ (template.text [<tag>])) (#try.Success <tag>)])
+      ([#..Monday]
+       [#..Tuesday]
+       [#..Wednesday]
+       [#..Thursday]
+       [#..Friday]
+       [#..Saturday]
+       [#..Sunday])
       _ (exception.throw ..not_a_day_of_the_week [value]))))
diff --git a/stdlib/source/lux/time/month.lux b/stdlib/source/lux/time/month.lux
index 898a3df84..6848f4869 100644
--- a/stdlib/source/lux/time/month.lux
+++ b/stdlib/source/lux/time/month.lux
@@ -11,6 +11,8 @@
     ["." exception (#+ exception:)]]
    [data
     ["." text]]
+   [macro
+    ["." template]]
    [math
     [number
      ["n" nat]]]])
@@ -186,33 +188,37 @@
 
 (implementation: #export codec
   (Codec Text Month)
-  
+
   (def: (encode value)
     (case value
-      #January "January"
-      #February "February"
-      #March "March"
-      #April "April"
-      #May "May"
-      #June "June"
-      #July "July"
-      #August "August"
-      #September "September"
-      #October "October"
-      #November "November"
-      #December "December"))
+      (^template [<tag>]
+        [<tag> (template.text [<tag>])])
+      ([#..January]
+       [#..February]
+       [#..March]
+       [#..April]
+       [#..May]
+       [#..June]
+       [#..July]
+       [#..August]
+       [#..September]
+       [#..October]
+       [#..November]
+       [#..December])))
   (def: (decode value)
     (case value
-      "January" (#try.Success #January)
-      "February" (#try.Success #February)
-      "March" (#try.Success #March)
-      "April" (#try.Success #April)
-      "May" (#try.Success #May)
-      "June" (#try.Success #June)
-      "July" (#try.Success #July)
-      "August" (#try.Success #August)
-      "September" (#try.Success #September)
-      "October" (#try.Success #October)
-      "November" (#try.Success #November)
-      "December" (#try.Success #December)
+      (^template [<tag>]
+        [(^ (template.text [<tag>])) (#try.Success <tag>)])
+      ([#..January]
+       [#..February]
+       [#..March]
+       [#..April]
+       [#..May]
+       [#..June]
+       [#..July]
+       [#..August]
+       [#..September]
+       [#..October]
+       [#..November]
+       [#..December])
       _ (exception.throw ..not_a_month_of_the_year [value]))))
diff --git a/stdlib/source/poly/lux/abstract/equivalence.lux b/stdlib/source/poly/lux/abstract/equivalence.lux
index 8ac11dbb1..590c3c92a 100644
--- a/stdlib/source/poly/lux/abstract/equivalence.lux
+++ b/stdlib/source/poly/lux/abstract/equivalence.lux
@@ -38,8 +38,8 @@
     ["." month]]
    ["." type
     ["." unit]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (poly: #export equivalence
   (`` (do {! p.monad}
diff --git a/stdlib/source/poly/lux/abstract/functor.lux b/stdlib/source/poly/lux/abstract/functor.lux
index 1ef5c4137..1d90bf0d9 100644
--- a/stdlib/source/poly/lux/abstract/functor.lux
+++ b/stdlib/source/poly/lux/abstract/functor.lux
@@ -20,8 +20,8 @@
    [math
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (poly: #export functor
   (do {! p.monad}
diff --git a/stdlib/source/poly/lux/data/format/json.lux b/stdlib/source/poly/lux/data/format/json.lux
index cf3076f72..3022a59a8 100644
--- a/stdlib/source/poly/lux/data/format/json.lux
+++ b/stdlib/source/poly/lux/data/format/json.lux
@@ -39,8 +39,8 @@
     ["." month]]
    ["." type
     ["." unit]]]
-  {1
-   ["." / (#+ JSON)]})
+  [\\
+   ["." / (#+ JSON)]])
 
 (def: tag
   (-> Nat Frac)
diff --git a/stdlib/source/program/aedifex/artifact/type.lux b/stdlib/source/program/aedifex/artifact/type.lux
index 5c9ba8bb2..cbf0a35ed 100644
--- a/stdlib/source/program/aedifex/artifact/type.lux
+++ b/stdlib/source/program/aedifex/artifact/type.lux
@@ -12,6 +12,7 @@
 
   ["tar" lux_library]
   ["jar" jvm_library]
+  ["js" js_library]
   ["pom" pom]
   ["sha1" sha-1]
   ["md5" md5]
diff --git a/stdlib/source/program/aedifex/command/build.lux b/stdlib/source/program/aedifex/command/build.lux
index ea2637d54..2f603dbc1 100644
--- a/stdlib/source/program/aedifex/command/build.lux
+++ b/stdlib/source/program/aedifex/command/build.lux
@@ -55,21 +55,16 @@
   Group
   "com.github.luxlang")
 
-(def: #export jvm_compiler_name
-  Name
-  "lux-jvm")
-
-(def: #export js_compiler_name
-  Name
-  "lux-js")
-
-(template [<finder> <name>]
-  [(def: <finder>
-     Finder
-     (..dependency_finder ..lux_group <name>))]
-
-  [jvm_compiler ..jvm_compiler_name]
-  [js_compiler ..js_compiler_name]
+(template [<dependency> <definition>]
+  [(def: #export <definition>
+     Name
+     <dependency>)]
+
+  ["lux-jvm" jvm_compiler_name]
+  ["lux-js" js_compiler_name]
+  ["lux-python" python_compiler_name]
+  ["lux-lua" lua_compiler_name]
+  ["lux-ruby" ruby_compiler_name]
   )
 
 (exception: #export no_available_compiler)
@@ -77,7 +72,10 @@
 
 (type: #export Compiler
   (#JVM Dependency)
-  (#JS Dependency))
+  (#JS Dependency)
+  (#Python Dependency)
+  (#Lua Dependency)
+  (#Ruby Dependency))
 
 (def: (remove_dependency dependency)
   (-> Dependency (-> Resolution Resolution))
@@ -85,20 +83,27 @@
        (list.filter (|>> product.left (is? dependency) not))
        (dictionary.from_list ///dependency.hash)))
 
-(def: (compiler resolution)
-  (-> Resolution (Try [Resolution Compiler]))
-  (case [(..jvm_compiler resolution)
-         (..js_compiler resolution)]
-    [(#.Some dependency) _]
-    (#try.Success [(..remove_dependency dependency resolution)
-                   (#JVM dependency)])
-    
-    [_ (#.Some dependency)]
-    (#try.Success [(..remove_dependency dependency resolution)
-                   (#JS dependency)])
-
-    _
-    (exception.throw ..no_available_compiler [])))
+(def: (compiler resolution compiler_dependency)
+  (-> Resolution Dependency (Try [Resolution Compiler]))
+  (let [[[compiler_group compiler_name compiler_version] compiler_type] compiler_dependency]
+    (case (..dependency_finder compiler_group compiler_name resolution)
+      (#.Some dependency)
+      (case compiler_name
+        (^template [<tag> <name>]
+          [(^ (static <name>))
+           (#try.Success [(..remove_dependency dependency resolution)
+                          (<tag> dependency)])])
+        ([#JVM ..jvm_compiler_name]
+         [#JS ..js_compiler_name]
+         [#Python ..python_compiler_name]
+         [#Lua ..lua_compiler_name]
+         [#Ruby ..ruby_compiler_name])
+        
+        _
+        (exception.throw ..no_available_compiler []))
+      
+      _
+      (exception.throw ..no_available_compiler []))))
 
 (def: (path fs home dependency)
   (All [!] (-> (file.System !) Path Dependency Path))
@@ -177,12 +182,17 @@
            #let [home (\ program home)
                  working_directory (\ program directory)]]
           (do ///action.monad
-            [[resolution compiler] (promise\wrap (..compiler resolution))
+            [[resolution compiler] (promise\wrap (..compiler resolution (get@ #///.compiler profile)))
              #let [[[command compiler_params] output] (case compiler
-                                                        (#JVM dependency) [(///runtime.java (..path fs home dependency))
-                                                                           "program.jar"]
-                                                        (#JS dependency) [(///runtime.node (..path fs home dependency))
-                                                                          "program.js"])
+                                                        (^template [<tag> <runtime> <program>]
+                                                          [(<tag> dependency)
+                                                           [(<runtime> (..path fs home dependency))
+                                                            <program>]])
+                                                        ([#JVM ///runtime.java "program.jar"]
+                                                         [#JS ///runtime.node "program.js"]
+                                                         [#Python ///runtime.java "program.py"]
+                                                         [#Lua ///runtime.java "program.lua"]
+                                                         [#Ruby ///runtime.java "program.rb"]))
                    / (\ fs separator)
                    cache_directory (format working_directory / target)]
              _ (console.write_line ..start console)
diff --git a/stdlib/source/program/aedifex/command/test.lux b/stdlib/source/program/aedifex/command/test.lux
index 9ac6b9c10..0ccc0cfb2 100644
--- a/stdlib/source/program/aedifex/command/test.lux
+++ b/stdlib/source/program/aedifex/command/test.lux
@@ -40,8 +40,14 @@
                                        (set@ #///.program (get@ #///.test profile) profile))
        _ (console.write_line ..start console)
        #let [[compiler_command compiler_parameters] (case compiler
-                                                      (#//build.JVM artifact) (///runtime.java program)
-                                                      (#//build.JS artifact) (///runtime.node program))]
+                                                      (^template [<tag> <runtime>]
+                                                        [(<tag> artifact)
+                                                         (<runtime> program)])
+                                                      ([#//build.JVM ///runtime.java]
+                                                       [#//build.JS ///runtime.node]
+                                                       [#//build.Python ///runtime.python]
+                                                       [#//build.Lua ///runtime.lua]
+                                                       [#//build.Ruby ///runtime.ruby]))]
        process (\ shell execute [environment
                                  working_directory
                                  compiler_command
diff --git a/stdlib/source/program/aedifex/runtime.lux b/stdlib/source/program/aedifex/runtime.lux
index 42b1c315a..e3f5a4e92 100644
--- a/stdlib/source/program/aedifex/runtime.lux
+++ b/stdlib/source/program/aedifex/runtime.lux
@@ -16,4 +16,7 @@
 
   [java "java" ["-jar"]]
   [node "node" ["--stack_size=8192"]]
+  [python "python3" []]
+  [lua "lua" []]
+  [ruby "RUBY_THREAD_VM_STACK_SIZE=15700000 ruby" []]
   )
diff --git a/stdlib/source/spec/aedifex/repository.lux b/stdlib/source/spec/aedifex/repository.lux
index 675d055b0..882937a0b 100644
--- a/stdlib/source/spec/aedifex/repository.lux
+++ b/stdlib/source/spec/aedifex/repository.lux
@@ -9,19 +9,18 @@
      ["." promise (#+ Promise)]]]
    [data
     ["." binary
-     {[0 #test]
-      ["_#" /]}]]
+     ["_#" \test]]]
    [math
     ["." random]]]
-  {#program
+  [\\program
    ["." /
     ["#." remote]
     ["/#" // #_
      ["#." artifact (#+ Artifact)
-      ["#/." extension]]]]}
-  {#test
+      ["#/." extension]]]]]
+  [\\test
    ["_." // #_
-    ["#." artifact]]})
+    ["#." artifact]]])
 
 (def: #export (spec valid_artifact invalid_artifact subject)
   (-> Artifact Artifact (/.Repository Promise) Test)
diff --git a/stdlib/source/spec/lux/abstract/apply.lux b/stdlib/source/spec/lux/abstract/apply.lux
index a3218ae0c..749d82a28 100644
--- a/stdlib/source/spec/lux/abstract/apply.lux
+++ b/stdlib/source/spec/lux/abstract/apply.lux
@@ -9,8 +9,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Apply)]}
+  [\\
+   ["." / (#+ Apply)]]
   [//
    [functor (#+ Injection Comparison)]])
 
diff --git a/stdlib/source/spec/lux/abstract/codec.lux b/stdlib/source/spec/lux/abstract/codec.lux
index db3148c3f..d892436f3 100644
--- a/stdlib/source/spec/lux/abstract/codec.lux
+++ b/stdlib/source/spec/lux/abstract/codec.lux
@@ -7,10 +7,10 @@
     ["." try]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     [//
-     [equivalence (#+ Equivalence)]]]})
+     [equivalence (#+ Equivalence)]]]])
 
 (def: #export (spec (^open "@//.") (^open "@//.") generator)
   (All [m a] (-> (Equivalence a) (/.Codec m a) (Random a) Test))
diff --git a/stdlib/source/spec/lux/abstract/comonad.lux b/stdlib/source/spec/lux/abstract/comonad.lux
index 42933a9e3..7d68d7a24 100644
--- a/stdlib/source/spec/lux/abstract/comonad.lux
+++ b/stdlib/source/spec/lux/abstract/comonad.lux
@@ -7,8 +7,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ CoMonad)]}
+  [\\
+   ["." / (#+ CoMonad)]]
   [//
    [functor (#+ Injection Comparison)]])
 
diff --git a/stdlib/source/spec/lux/abstract/enum.lux b/stdlib/source/spec/lux/abstract/enum.lux
index 6d28dead8..2823c7b38 100644
--- a/stdlib/source/spec/lux/abstract/enum.lux
+++ b/stdlib/source/spec/lux/abstract/enum.lux
@@ -5,8 +5,8 @@
     [monad (#+ do)]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (spec (^open "\.") gen-sample)
   (All [a] (-> (/.Enum a) (Random a) Test))
diff --git a/stdlib/source/spec/lux/abstract/equivalence.lux b/stdlib/source/spec/lux/abstract/equivalence.lux
index f3d97e5b6..14e84c05b 100644
--- a/stdlib/source/spec/lux/abstract/equivalence.lux
+++ b/stdlib/source/spec/lux/abstract/equivalence.lux
@@ -5,8 +5,8 @@
     [monad (#+ do)]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." / (#+ Equivalence)]})
+  [\\
+   ["." / (#+ Equivalence)]])
 
 (def: #export (spec (^open "_//.") random)
   (All [a] (-> (Equivalence a) (Random a) Test))
diff --git a/stdlib/source/spec/lux/abstract/fold.lux b/stdlib/source/spec/lux/abstract/fold.lux
index 03421803f..204987ded 100644
--- a/stdlib/source/spec/lux/abstract/fold.lux
+++ b/stdlib/source/spec/lux/abstract/fold.lux
@@ -9,7 +9,8 @@
      ["n" nat]]]]
   [//
    [functor (#+ Injection Comparison)]]
-  {1 ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (spec injection comparison (^open "@//."))
   (All [f] (-> (Injection f) (Comparison f) (/.Fold f) Test))
diff --git a/stdlib/source/spec/lux/abstract/functor.lux b/stdlib/source/spec/lux/abstract/functor.lux
index 88fc113ee..8aa3b5e95 100644
--- a/stdlib/source/spec/lux/abstract/functor.lux
+++ b/stdlib/source/spec/lux/abstract/functor.lux
@@ -10,8 +10,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Functor)]})
+  [\\
+   ["." / (#+ Functor)]])
 
 (type: #export (Injection f)
   (All [a] (-> a (f a))))
diff --git a/stdlib/source/spec/lux/abstract/functor/contravariant.lux b/stdlib/source/spec/lux/abstract/functor/contravariant.lux
index f713b5c9e..21a2a62c6 100644
--- a/stdlib/source/spec/lux/abstract/functor/contravariant.lux
+++ b/stdlib/source/spec/lux/abstract/functor/contravariant.lux
@@ -10,8 +10,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Functor)]})
+  [\\
+   ["." / (#+ Functor)]])
 
 (def: (identity equivalence value (^open "@//."))
   (All [f a] (-> (Equivalence (f a)) (f a) (Functor f) Test))
diff --git a/stdlib/source/spec/lux/abstract/hash.lux b/stdlib/source/spec/lux/abstract/hash.lux
index 543ea2a85..94b9cf92b 100644
--- a/stdlib/source/spec/lux/abstract/hash.lux
+++ b/stdlib/source/spec/lux/abstract/hash.lux
@@ -9,8 +9,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (spec (^open "\.") random)
   (All [a] (-> (/.Hash a) (Random a) Test))
diff --git a/stdlib/source/spec/lux/abstract/interval.lux b/stdlib/source/spec/lux/abstract/interval.lux
index c80c3ec5b..a3735f50f 100644
--- a/stdlib/source/spec/lux/abstract/interval.lux
+++ b/stdlib/source/spec/lux/abstract/interval.lux
@@ -6,8 +6,8 @@
     ["." order]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (spec (^open "@//.") gen-sample)
   (All [a] (-> (/.Interval a) (Random a) Test))
diff --git a/stdlib/source/spec/lux/abstract/monad.lux b/stdlib/source/spec/lux/abstract/monad.lux
index a1e5a41e4..4d79a43b0 100644
--- a/stdlib/source/spec/lux/abstract/monad.lux
+++ b/stdlib/source/spec/lux/abstract/monad.lux
@@ -5,8 +5,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ do)]}
+  [\\
+   ["." / (#+ do)]]
   [//
    [functor (#+ Injection Comparison)]])
 
diff --git a/stdlib/source/spec/lux/abstract/monoid.lux b/stdlib/source/spec/lux/abstract/monoid.lux
index 1981c6107..a590f09a1 100644
--- a/stdlib/source/spec/lux/abstract/monoid.lux
+++ b/stdlib/source/spec/lux/abstract/monoid.lux
@@ -5,10 +5,10 @@
     [monad (#+ do)]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     [//
-     [equivalence (#+ Equivalence)]]]})
+     [equivalence (#+ Equivalence)]]]])
 
 (def: #export (spec (^open "\.") (^open "\.") gen-sample)
   (All [a] (-> (Equivalence a) (/.Monoid a) (Random a) Test))
diff --git a/stdlib/source/spec/lux/abstract/order.lux b/stdlib/source/spec/lux/abstract/order.lux
index 6d259a465..e1a9eea1b 100644
--- a/stdlib/source/spec/lux/abstract/order.lux
+++ b/stdlib/source/spec/lux/abstract/order.lux
@@ -5,8 +5,8 @@
     [monad (#+ do)]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (spec (^open "@//.") generator)
   (All [a] (-> (/.Order a) (Random a) Test))
diff --git a/stdlib/source/spec/lux/world/console.lux b/stdlib/source/spec/lux/world/console.lux
index 7dedd72cb..cda425364 100644
--- a/stdlib/source/spec/lux/world/console.lux
+++ b/stdlib/source/spec/lux/world/console.lux
@@ -13,8 +13,8 @@
      ["%" format (#+ format)]]]
    [math
     ["." random]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (spec console)
   (-> (IO (/.Console Promise)) Test)
diff --git a/stdlib/source/spec/lux/world/file.lux b/stdlib/source/spec/lux/world/file.lux
index 8a13279ad..a207817f1 100644
--- a/stdlib/source/spec/lux/world/file.lux
+++ b/stdlib/source/spec/lux/world/file.lux
@@ -18,8 +18,7 @@
      [encoding
       ["." utf8 ("#\." codec)]]]
     ["." binary (#+ Binary) ("#\." equivalence monoid)
-     {[0 #test]
-      ["$#" /]}]
+     ["$#" \test]]
     [collection
      ["." list]]]
    [math
@@ -28,8 +27,8 @@
      ["n" nat]]]
    [time
     ["." instant (#+ Instant) ("#\." equivalence)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: (for_path fs)
   (-> (IO (/.System Promise)) Test)
diff --git a/stdlib/source/spec/lux/world/program.lux b/stdlib/source/spec/lux/world/program.lux
index 85db051f0..cf413ed55 100644
--- a/stdlib/source/spec/lux/world/program.lux
+++ b/stdlib/source/spec/lux/world/program.lux
@@ -14,8 +14,8 @@
      ["." list]]]
    [math
     ["." random]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (spec subject)
   (-> (/.Program Promise) Test)
diff --git a/stdlib/source/spec/lux/world/shell.lux b/stdlib/source/spec/lux/world/shell.lux
index 8ff65a2c7..78bbd5521 100644
--- a/stdlib/source/spec/lux/world/shell.lux
+++ b/stdlib/source/spec/lux/world/shell.lux
@@ -18,10 +18,10 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
+  [\\
    ["." /
     [//
-     [file (#+ Path)]]]})
+     [file (#+ Path)]]]])
 
 (template [<name> <command> <type> <prep>]
   [(def: <name>
diff --git a/stdlib/source/test/aedifex/artifact.lux b/stdlib/source/test/aedifex/artifact.lux
index 935d835bb..b1bb102c1 100644
--- a/stdlib/source/test/aedifex/artifact.lux
+++ b/stdlib/source/test/aedifex/artifact.lux
@@ -4,9 +4,8 @@
    [abstract
     [monad (#+ do)]
     [hash (#+ Hash)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     [concurrency
      [promise (#+ Promise)]]]
@@ -24,8 +23,8 @@
    ["#." time]
    ["#." type]
    ["#." versioning]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Artifact)
diff --git a/stdlib/source/test/aedifex/artifact/extension.lux b/stdlib/source/test/aedifex/artifact/extension.lux
index 5d2491d28..9ae382975 100644
--- a/stdlib/source/test/aedifex/artifact/extension.lux
+++ b/stdlib/source/test/aedifex/artifact/extension.lux
@@ -12,10 +12,10 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
-     ["#" type]]]})
+     ["#" type]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/artifact/snapshot.lux b/stdlib/source/test/aedifex/artifact/snapshot.lux
index d48c8f34e..4e968904d 100644
--- a/stdlib/source/test/aedifex/artifact/snapshot.lux
+++ b/stdlib/source/test/aedifex/artifact/snapshot.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
@@ -17,8 +16,8 @@
    ["#." stamp]
    ["#." time]
    ["#." version]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Snapshot)
diff --git a/stdlib/source/test/aedifex/artifact/snapshot/build.lux b/stdlib/source/test/aedifex/artifact/snapshot/build.lux
index e3fdcab62..156be7af4 100644
--- a/stdlib/source/test/aedifex/artifact/snapshot/build.lux
+++ b/stdlib/source/test/aedifex/artifact/snapshot/build.lux
@@ -3,17 +3,16 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
      ["<.>" xml]]]
    [math
     ["." random (#+ Random)]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Build)
diff --git a/stdlib/source/test/aedifex/artifact/snapshot/stamp.lux b/stdlib/source/test/aedifex/artifact/snapshot/stamp.lux
index f2051d037..aa3dbcff1 100644
--- a/stdlib/source/test/aedifex/artifact/snapshot/stamp.lux
+++ b/stdlib/source/test/aedifex/artifact/snapshot/stamp.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
@@ -14,8 +13,8 @@
     ["." random (#+ Random)]]
    [time
     ["." instant]]]
-  {#program
-   ["." /]}
+  [\\program
+   ["." /]]
   ["$." // #_
    ["#." time]
    ["#." build]])
diff --git a/stdlib/source/test/aedifex/artifact/snapshot/time.lux b/stdlib/source/test/aedifex/artifact/snapshot/time.lux
index 3acb37232..f6861bf9c 100644
--- a/stdlib/source/test/aedifex/artifact/snapshot/time.lux
+++ b/stdlib/source/test/aedifex/artifact/snapshot/time.lux
@@ -3,17 +3,16 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
      ["<.>" text]]]
    [math
     ["." random (#+ Random)]]]
-  {#program
-   ["." /]}
+  [\\program
+   ["." /]]
   ["$." /// #_
    ["#." time]])
 
diff --git a/stdlib/source/test/aedifex/artifact/snapshot/version.lux b/stdlib/source/test/aedifex/artifact/snapshot/version.lux
index 59ed7189f..06adc7239 100644
--- a/stdlib/source/test/aedifex/artifact/snapshot/version.lux
+++ b/stdlib/source/test/aedifex/artifact/snapshot/version.lux
@@ -3,17 +3,16 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
      ["<.>" xml]]]
    [math
     ["." random (#+ Random)]]]
-  {#program
-   ["." /]}
+  [\\program
+   ["." /]]
   ["." / #_
    ["#." value]]
   ["$." /// #_
diff --git a/stdlib/source/test/aedifex/artifact/snapshot/version/value.lux b/stdlib/source/test/aedifex/artifact/snapshot/version/value.lux
index dc3f754a2..3ed0b32ce 100644
--- a/stdlib/source/test/aedifex/artifact/snapshot/version/value.lux
+++ b/stdlib/source/test/aedifex/artifact/snapshot/version/value.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
@@ -22,11 +21,11 @@
     ["." instant]]]
   ["$." /// #_
    ["#." stamp]]
-  {#program
+  [\\program
    ["." /
     ["//#" ///
      ["#." stamp]
-     ["#." time]]]})
+     ["#." time]]]])
 
 (def: #export random
   (Random /.Value)
diff --git a/stdlib/source/test/aedifex/artifact/time.lux b/stdlib/source/test/aedifex/artifact/time.lux
index b9b0ab4e0..c2ab6a354 100644
--- a/stdlib/source/test/aedifex/artifact/time.lux
+++ b/stdlib/source/test/aedifex/artifact/time.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
@@ -14,8 +13,8 @@
     ["." random (#+ Random)]
     [number
      ["i" int]]]]
-  {#program
-   ["." /]}
+  [\\program
+   ["." /]]
   ["." / #_
    ["#." date]
    ["#." time]])
diff --git a/stdlib/source/test/aedifex/artifact/time/date.lux b/stdlib/source/test/aedifex/artifact/time/date.lux
index a68a60a56..494aa5e07 100644
--- a/stdlib/source/test/aedifex/artifact/time/date.lux
+++ b/stdlib/source/test/aedifex/artifact/time/date.lux
@@ -15,8 +15,8 @@
    [time
     ["." date]
     ["." year]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Date)
diff --git a/stdlib/source/test/aedifex/artifact/time/time.lux b/stdlib/source/test/aedifex/artifact/time/time.lux
index cd70d1c83..a17f9c40c 100644
--- a/stdlib/source/test/aedifex/artifact/time/time.lux
+++ b/stdlib/source/test/aedifex/artifact/time/time.lux
@@ -13,8 +13,8 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Time)
diff --git a/stdlib/source/test/aedifex/artifact/type.lux b/stdlib/source/test/aedifex/artifact/type.lux
index 01b581eb3..447b60bac 100644
--- a/stdlib/source/test/aedifex/artifact/type.lux
+++ b/stdlib/source/test/aedifex/artifact/type.lux
@@ -12,8 +12,8 @@
     ["." random (#+ Random) ("#\." monad)]
     [number
      ["n" nat]]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Type)
diff --git a/stdlib/source/test/aedifex/artifact/versioning.lux b/stdlib/source/test/aedifex/artifact/versioning.lux
index c438caca5..d1d4da7ef 100644
--- a/stdlib/source/test/aedifex/artifact/versioning.lux
+++ b/stdlib/source/test/aedifex/artifact/versioning.lux
@@ -3,17 +3,16 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
      ["<.>" xml]]]
    [math
     ["." random (#+ Random)]]]
-  {#program
-   ["." /]}
+  [\\program
+   ["." /]]
   ["$." // #_
    ["#." time]
    ["#." snapshot
diff --git a/stdlib/source/test/aedifex/cache.lux b/stdlib/source/test/aedifex/cache.lux
index 22a32e43f..d61a88057 100644
--- a/stdlib/source/test/aedifex/cache.lux
+++ b/stdlib/source/test/aedifex/cache.lux
@@ -31,7 +31,7 @@
     [lux
      [data
       ["_." binary]]]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["#" profile (#+ Profile)]
@@ -42,7 +42,7 @@
      ["#." artifact (#+ Artifact)
       ["#/." type (#+ Type)]]
      ["#." repository #_
-      ["#/." origin]]]]})
+      ["#/." origin]]]]])
 
 (def: type
   (Random Type)
diff --git a/stdlib/source/test/aedifex/cli.lux b/stdlib/source/test/aedifex/cli.lux
index b92ebe145..30813fb94 100644
--- a/stdlib/source/test/aedifex/cli.lux
+++ b/stdlib/source/test/aedifex/cli.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     [pipe (#+ case>)]
     ["." try]
@@ -15,10 +14,10 @@
     ["." text ("#\." equivalence)]]
    [math
     ["." random (#+ Random) ("#\." monad)]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
-     ["#" profile]]]})
+     ["#" profile]]]])
 
 (def: compilation
   (Random /.Compilation)
diff --git a/stdlib/source/test/aedifex/command.lux b/stdlib/source/test/aedifex/command.lux
index 42d1c1278..1ba7e6319 100644
--- a/stdlib/source/test/aedifex/command.lux
+++ b/stdlib/source/test/aedifex/command.lux
@@ -14,8 +14,8 @@
    ["#." build]
    ["#." test]
    ["#." auto]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/command/auto.lux b/stdlib/source/test/aedifex/command/auto.lux
index effc80871..dfb4dc672 100644
--- a/stdlib/source/test/aedifex/command/auto.lux
+++ b/stdlib/source/test/aedifex/command/auto.lux
@@ -34,14 +34,14 @@
   ["." // #_
    ["$." version]
    ["$." build]]
-  {#program
+  [\\program
    ["." /
     ["//#" /// #_
      [command (#+ Command)]
      ["#" profile (#+ Profile)]
      ["#." action]
      [dependency
-      [resolution (#+ Resolution)]]]]})
+      [resolution (#+ Resolution)]]]]])
 
 (def: (command expected_runs end_signal fs dummy_file)
   (-> Nat Text (file.System Promise) file.Path
@@ -89,7 +89,7 @@
          
          expected_runs (\ ! map (|>> (n.% 10) (n.max 2)) random.nat)
          dummy_path (\ ! map (|>> (format source /)) (random.ascii/alpha 5))
-         resolution $build.resolution]
+         [compiler resolution] $build.resolution]
         ($_ _.and
             (wrap (do promise.monad
                     [verdict (do ///action.monad
@@ -99,6 +99,7 @@
                                 _ (\ watcher poll [])]
                                (do {! promise.monad}
                                  [no_dangling_process! (|> profile
+                                                           (set@ #///.compiler compiler)
                                                            ((/.do! 1 watcher command)
                                                             ($version.echo "")
                                                             (program.async (program.mock environment.empty home working_directory))
diff --git a/stdlib/source/test/aedifex/command/build.lux b/stdlib/source/test/aedifex/command/build.lux
index 9d37ceb00..191ac1039 100644
--- a/stdlib/source/test/aedifex/command/build.lux
+++ b/stdlib/source/test/aedifex/command/build.lux
@@ -16,7 +16,7 @@
     [collection
      ["." dictionary]]]
    [math
-    ["." random]]
+    ["." random (#+ Random)]]
    [world
     ["." file]
     ["." shell (#+ Shell)]
@@ -25,15 +25,15 @@
    ["@." version]
    ["$/#" // #_
     ["#." package]]]
-  {#program
+  [\\program
    ["." /
     ["//#" /// #_
      ["#" profile (#+ Profile)]
      ["#." action]
      ["#." artifact
       ["#/." type]]
-     ["#." dependency
-      ["#/." resolution]]]]})
+     ["#." dependency (#+ Dependency)
+      ["#/." resolution (#+ Resolution)]]]]])
 
 (def: #export good_shell
   (-> Any (Shell IO))
@@ -72,25 +72,35 @@
             (#try.Success [state shell.error]))))))))
 
 (def: compiler
+  (Random Dependency)
   (do random.monad
     [lux_version (random.ascii/alpha 5)
-     #let [jvm_compiler {#///dependency.artifact {#///artifact.group /.lux_group
-                                                  #///artifact.name /.jvm_compiler_name
-                                                  #///artifact.version lux_version}
-                         #///dependency.type ///artifact/type.lux_library}
-           js_compiler {#///dependency.artifact {#///artifact.group /.lux_group
+     #let [js_compiler {#///dependency.artifact {#///artifact.group /.lux_group
                                                  #///artifact.name /.js_compiler_name
                                                  #///artifact.version lux_version}
-                        #///dependency.type ///artifact/type.lux_library}]]
-    (random.either (wrap jvm_compiler)
-                   (wrap js_compiler))))
+                        #///dependency.type ///artifact/type.js_library}]]
+    (`` ($_ random.either
+            (wrap js_compiler)
+            (~~ (template [<compiler>]
+                  [(wrap {#///dependency.artifact {#///artifact.group /.lux_group
+                                                   #///artifact.name <compiler>
+                                                   #///artifact.version lux_version}
+                          #///dependency.type ///artifact/type.lux_library})]
+
+                  [/.jvm_compiler_name]
+                  [/.python_compiler_name]
+                  [/.lua_compiler_name]
+                  [/.ruby_compiler_name]
+                  ))))))
 
 (def: #export resolution
+  (Random [Dependency Resolution])
   (do random.monad
     [dependency ..compiler
      [_ package] $///package.random]
-    (wrap (|> ///dependency/resolution.empty
-              (dictionary.put dependency package)))))
+    (wrap [dependency
+           (|> ///dependency/resolution.empty
+               (dictionary.put dependency package))])))
 
 (def: #export test
   Test
@@ -136,10 +146,12 @@
                                 (exception.match? /.no_available_compiler error)))))
             (do !
               [#let [console (@version.echo "")]
-               resolution ..resolution]
+               [compiler resolution] ..resolution]
               (wrap (do promise.monad
                       [verdict (do ///action.monad
-                                 [_ (/.do! console (program.async (program.mock environment.empty home working_directory)) fs shell resolution profile)
+                                 [_ (/.do! console (program.async (program.mock environment.empty home working_directory))
+                                           fs shell resolution
+                                           (set@ #///.compiler compiler profile))
                                   start (\ console read_line [])
                                   end (\ console read_line [])]
                                  (wrap (and (text\= /.start start)
@@ -150,10 +162,12 @@
                                 (try.default false verdict)))))
             (do !
               [#let [console (@version.echo "")]
-               resolution ..resolution]
+               [compiler resolution] ..resolution]
               (wrap (do promise.monad
                       [verdict (do ///action.monad
-                                 [_ (/.do! console (program.async (program.mock environment.empty home working_directory)) fs (shell.async (..bad_shell [])) resolution profile)
+                                 [_ (/.do! console (program.async (program.mock environment.empty home working_directory))
+                                           fs (shell.async (..bad_shell [])) resolution
+                                           (set@ #///.compiler compiler profile))
                                   start (\ console read_line [])
                                   end (\ console read_line [])]
                                  (wrap (and (text\= /.start start)
diff --git a/stdlib/source/test/aedifex/command/clean.lux b/stdlib/source/test/aedifex/command/clean.lux
index e23e99b96..6ee155b33 100644
--- a/stdlib/source/test/aedifex/command/clean.lux
+++ b/stdlib/source/test/aedifex/command/clean.lux
@@ -29,11 +29,11 @@
      [lux
       [data
        ["$." binary]]]]]]
-  {#program
+  [\\program
    ["." /
     ["//#" /// #_
      ["#" profile]
-     ["#." action (#+ Action)]]]})
+     ["#." action (#+ Action)]]]])
 
 (def: node_name
   (Random Text)
diff --git a/stdlib/source/test/aedifex/command/deploy.lux b/stdlib/source/test/aedifex/command/deploy.lux
index a40d8e394..7b3664da8 100644
--- a/stdlib/source/test/aedifex/command/deploy.lux
+++ b/stdlib/source/test/aedifex/command/deploy.lux
@@ -36,7 +36,7 @@
    [//
     ["$." profile]
     ["$." repository]]]
-  {#program
+  [\\program
    ["." /
     ["//#" /// #_
      ["#" profile]
@@ -46,7 +46,7 @@
      ["#." repository (#+ Repository)
       ["#/." remote]]
      ["#." artifact (#+ Artifact)
-      ["#/." extension]]]]})
+      ["#/." extension]]]]])
 
 (def: (execute! program repository fs artifact profile)
   (-> (Program Promise) (Repository Promise) (file.System Promise)
diff --git a/stdlib/source/test/aedifex/command/deps.lux b/stdlib/source/test/aedifex/command/deps.lux
index 819495c02..63561542d 100644
--- a/stdlib/source/test/aedifex/command/deps.lux
+++ b/stdlib/source/test/aedifex/command/deps.lux
@@ -32,7 +32,7 @@
     ["#." artifact]
     ["#." dependency #_
      ["#/." resolution]]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["#." clean]
@@ -49,7 +49,7 @@
        ["#/." status]]
       ["#." repository
        ["#/." origin]
-       ["#/." local]]]]]})
+       ["#/." local]]]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/command/install.lux b/stdlib/source/test/aedifex/command/install.lux
index 0e8a95526..ae9885401 100644
--- a/stdlib/source/test/aedifex/command/install.lux
+++ b/stdlib/source/test/aedifex/command/install.lux
@@ -26,7 +26,7 @@
    [//
     ["$." profile]
     ["$." artifact]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["/#" // #_
@@ -36,7 +36,7 @@
       ["#." artifact
        ["#/." extension]]
       ["#." repository #_
-       ["#/." local]]]]]})
+       ["#/." local]]]]]])
 
 (def: #export (make_sources! fs sources)
   (-> (file.System Promise) (Set file.Path) (Action (List Any)))
diff --git a/stdlib/source/test/aedifex/command/pom.lux b/stdlib/source/test/aedifex/command/pom.lux
index 2ac23ec7a..39e2eecfc 100644
--- a/stdlib/source/test/aedifex/command/pom.lux
+++ b/stdlib/source/test/aedifex/command/pom.lux
@@ -22,12 +22,12 @@
    ["@." version]
    [//
     ["@." profile]]]
-  {#program
+  [\\program
    ["." /
     ["//#" /// #_
      ["#" profile]
      ["#." action]
-     ["#." pom]]]})
+     ["#." pom]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/command/test.lux b/stdlib/source/test/aedifex/command/test.lux
index 47e2ed2b3..a6029ba8c 100644
--- a/stdlib/source/test/aedifex/command/test.lux
+++ b/stdlib/source/test/aedifex/command/test.lux
@@ -26,7 +26,7 @@
    ["@." build]
    ["$/#" // #_
     ["#." package]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["#." build]
@@ -36,7 +36,7 @@
       ["#." artifact
        ["#/." type]]
       ["#." dependency
-       ["#/." resolution]]]]]})
+       ["#/." resolution]]]]]])
 
 (def: #export test
   Test
@@ -56,13 +56,15 @@
                profile (|> empty_profile
                            with_test
                            with_target)]
-         resolution @build.resolution]
+         [compiler resolution] @build.resolution]
         ($_ _.and
             (let [fs (file.mock (\ file.default separator))
                   console (@version.echo "")]
               (wrap (do promise.monad
                       [verdict (do ///action.monad
-                                 [_ (/.do! console (program.async (program.mock environment.empty home working_directory)) fs (shell.async (@build.good_shell [])) resolution profile)
+                                 [_ (/.do! console (program.async (program.mock environment.empty home working_directory))
+                                           fs (shell.async (@build.good_shell [])) resolution
+                                           (set@ #///.compiler compiler profile))
                                   build_start (\ console read_line [])
                                   build_end (\ console read_line [])
                                   test_start (\ console read_line [])
@@ -96,7 +98,9 @@
                                                                                    shell.normal
                                                                                    shell.error)]))))))
                                                    [])]
-                                  _ (/.do! console (program.async (program.mock environment.empty home working_directory)) fs (shell.async bad_shell) resolution profile)
+                                  _ (/.do! console (program.async (program.mock environment.empty home working_directory))
+                                           fs (shell.async bad_shell) resolution
+                                           (set@ #///.compiler compiler profile))
                                   build_start (\ console read_line [])
                                   build_end (\ console read_line [])
                                   test_start (\ console read_line [])
diff --git a/stdlib/source/test/aedifex/command/version.lux b/stdlib/source/test/aedifex/command/version.lux
index 1bbb7f874..d3f815ed1 100644
--- a/stdlib/source/test/aedifex/command/version.lux
+++ b/stdlib/source/test/aedifex/command/version.lux
@@ -24,8 +24,8 @@
     ["." console (#+ Console Mock)]]]
   [///
    ["@." profile]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (exception: #export console_is_closed!)
 
diff --git a/stdlib/source/test/aedifex/dependency.lux b/stdlib/source/test/aedifex/dependency.lux
index 95fec9800..189da054c 100644
--- a/stdlib/source/test/aedifex/dependency.lux
+++ b/stdlib/source/test/aedifex/dependency.lux
@@ -3,15 +3,14 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random)]]]
   [//
    ["@." artifact]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Dependency)
diff --git a/stdlib/source/test/aedifex/dependency/deployment.lux b/stdlib/source/test/aedifex/dependency/deployment.lux
index b947e609e..6e44e03db 100644
--- a/stdlib/source/test/aedifex/dependency/deployment.lux
+++ b/stdlib/source/test/aedifex/dependency/deployment.lux
@@ -34,7 +34,7 @@
   ["$." //
    ["#/" // #_
     ["#." package]]]
-  {#program
+  [\\program
    ["." /
     [// (#+ Dependency)
      ["." resolution]
@@ -46,7 +46,7 @@
        ["#/." type]
        ["#/." extension]]
       ["." repository
-       ["." remote]]]]]})
+       ["." remote]]]]]])
 
 (def: good_upload
   (@http.Response IO)
diff --git a/stdlib/source/test/aedifex/dependency/resolution.lux b/stdlib/source/test/aedifex/dependency/resolution.lux
index 6d25ffd4b..24cde0b53 100644
--- a/stdlib/source/test/aedifex/dependency/resolution.lux
+++ b/stdlib/source/test/aedifex/dependency/resolution.lux
@@ -4,9 +4,8 @@
    [abstract
     [monad (#+ do)]
     ["." predicate]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try]
     ["." exception]
@@ -33,7 +32,7 @@
    ["#." artifact]
    [command
     ["#." version]]]
-  {#program
+  [\\program
    ["." /
     ["//#" /// #_
      ["#" profile]
@@ -46,7 +45,7 @@
       ["#/." type]
       ["#/." extension]]
      ["#." repository (#+ Mock)
-      ["#/." origin]]]]})
+      ["#/." origin]]]]])
 
 (def: random
   (Random /.Resolution)
diff --git a/stdlib/source/test/aedifex/dependency/status.lux b/stdlib/source/test/aedifex/dependency/status.lux
index 90cc547fa..a709e6ca2 100644
--- a/stdlib/source/test/aedifex/dependency/status.lux
+++ b/stdlib/source/test/aedifex/dependency/status.lux
@@ -2,17 +2,16 @@
   [lux #*
    ["_" test (#+ Test)]
    [abstract
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random) ("#\." monad)]]]
   ["$." /// #_
    ["#." hash]]
-  {#program
+  [\\program
    ["." /
     ["//#" /// #_
-     ["#." hash]]]})
+     ["#." hash]]]])
 
 (def: #export random
   (Random /.Status)
diff --git a/stdlib/source/test/aedifex/hash.lux b/stdlib/source/test/aedifex/hash.lux
index 4c057be60..f4f6fe441 100644
--- a/stdlib/source/test/aedifex/hash.lux
+++ b/stdlib/source/test/aedifex/hash.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." codec]]]
    [control
     ["." try]
     ["." exception]]
@@ -18,8 +17,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {#program
-   ["." /]}
+  [\\program
+   ["." /]]
   [test
    [lux
     [data
diff --git a/stdlib/source/test/aedifex/input.lux b/stdlib/source/test/aedifex/input.lux
index c379a8b0c..cf573bb25 100644
--- a/stdlib/source/test/aedifex/input.lux
+++ b/stdlib/source/test/aedifex/input.lux
@@ -20,7 +20,7 @@
     ["." file]]]
   [//
    ["$." profile]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["#" profile (#+ Profile)]
@@ -28,7 +28,7 @@
      ["#." action]
      ["#." format]
      [repository
-      [remote (#+ Address)]]]]})
+      [remote (#+ Address)]]]]])
 
 (def: (with_default_source sources)
   (-> (Set //.Source) (Set //.Source))
diff --git a/stdlib/source/test/aedifex/local.lux b/stdlib/source/test/aedifex/local.lux
index 3f6574ed9..89e4db9de 100644
--- a/stdlib/source/test/aedifex/local.lux
+++ b/stdlib/source/test/aedifex/local.lux
@@ -9,10 +9,10 @@
     ["." random (#+ Random)]]]
   [//
    ["@." artifact]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
-     ["#." artifact]]]})
+     ["#." artifact]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/metadata.lux b/stdlib/source/test/aedifex/metadata.lux
index 224ce4d80..2975939bc 100644
--- a/stdlib/source/test/aedifex/metadata.lux
+++ b/stdlib/source/test/aedifex/metadata.lux
@@ -12,8 +12,8 @@
    ["#." snapshot]
    [//
     ["$." artifact]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/metadata/artifact.lux b/stdlib/source/test/aedifex/metadata/artifact.lux
index 6c3e509b1..56e856b88 100644
--- a/stdlib/source/test/aedifex/metadata/artifact.lux
+++ b/stdlib/source/test/aedifex/metadata/artifact.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
@@ -23,8 +22,8 @@
     ["." random (#+ Random)]]
    [macro
     ["." code]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Metadata)
diff --git a/stdlib/source/test/aedifex/metadata/snapshot.lux b/stdlib/source/test/aedifex/metadata/snapshot.lux
index 1858cae25..d94c66761 100644
--- a/stdlib/source/test/aedifex/metadata/snapshot.lux
+++ b/stdlib/source/test/aedifex/metadata/snapshot.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
@@ -29,12 +28,12 @@
     ["#/." time]
     ["#/." snapshot #_
      ["#/." version]]]]
-  {#program
+  [\\program
    ["." /
     [///
      [artifact
       [versioning (#+ Versioning)]
-      ["#." snapshot]]]]})
+      ["#." snapshot]]]]])
 
 (def: random_instant
   (Random Instant)
diff --git a/stdlib/source/test/aedifex/package.lux b/stdlib/source/test/aedifex/package.lux
index 56daf3cad..61e36aaf7 100644
--- a/stdlib/source/test/aedifex/package.lux
+++ b/stdlib/source/test/aedifex/package.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try]
     [concurrency
@@ -31,7 +30,7 @@
     [lux
      [data
       ["$." binary]]]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["#" profile]
@@ -40,7 +39,7 @@
      [dependency
       ["#." status]]
      [repository
-      ["#." origin]]]]})
+      ["#." origin]]]]])
 
 (def: #export random
   (Random [//.Profile /.Package])
diff --git a/stdlib/source/test/aedifex/parser.lux b/stdlib/source/test/aedifex/parser.lux
index 07c426ebb..01c763349 100644
--- a/stdlib/source/test/aedifex/parser.lux
+++ b/stdlib/source/test/aedifex/parser.lux
@@ -23,14 +23,14 @@
     ["." code]]]
   [//
    ["@." profile]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["#" profile]
      ["#." project (#+ Project)]
      ["#." artifact (#+ Artifact)]
      ["#." dependency (#+ Dependency)]
-     ["#." format]]]})
+     ["#." format]]]])
 
 (def: name
   (Random //.Name)
diff --git a/stdlib/source/test/aedifex/pom.lux b/stdlib/source/test/aedifex/pom.lux
index 75b8cf5dc..ad3b1d801 100644
--- a/stdlib/source/test/aedifex/pom.lux
+++ b/stdlib/source/test/aedifex/pom.lux
@@ -15,10 +15,10 @@
     ["." random]]]
   [//
    ["@." profile]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
-     ["#" profile]]]})
+     ["#" profile]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/profile.lux b/stdlib/source/test/aedifex/profile.lux
index 0a0ba8642..d4cbb958a 100644
--- a/stdlib/source/test/aedifex/profile.lux
+++ b/stdlib/source/test/aedifex/profile.lux
@@ -4,10 +4,9 @@
    [abstract
     [monad (#+ do)]
     [hash (#+ Hash)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." monoid]]]
    [control
     [pipe (#+ case>)]
     ["." try]
@@ -25,13 +24,13 @@
   [//
    ["@." artifact]
    ["@." dependency]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
      ["#." dependency (#+ Dependency)]
      ["#." format]
      [repository
-      [remote (#+ Address)]]]]})
+      [remote (#+ Address)]]]]])
 
 (def: distribution
   (Random /.Distribution)
diff --git a/stdlib/source/test/aedifex/project.lux b/stdlib/source/test/aedifex/project.lux
index 5e26b63de..d2c12109f 100644
--- a/stdlib/source/test/aedifex/project.lux
+++ b/stdlib/source/test/aedifex/project.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." monoid]]]
    [control
     ["." try ("#\." functor)]
     ["." exception]]
@@ -19,10 +18,10 @@
      ["n" nat]]]]
   [//
    ["@." profile]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
-     ["#" profile]]]})
+     ["#" profile]]]])
 
 (def: profile
   (Random [//.Name //.Profile])
diff --git a/stdlib/source/test/aedifex/repository.lux b/stdlib/source/test/aedifex/repository.lux
index f9a4eeda6..6241e14e9 100644
--- a/stdlib/source/test/aedifex/repository.lux
+++ b/stdlib/source/test/aedifex/repository.lux
@@ -28,14 +28,14 @@
    ["#." remote]
    [//
     ["@." artifact]]]
-  {#spec
-   ["$." /]}
-  {#program
+  [\\spec
+   ["$." /]]
+  [\\program
    ["." /
     ["." remote]
     ["/#" // #_
      ["#." artifact (#+ Version Artifact)
-      ["#/." extension (#+ Extension)]]]]})
+      ["#/." extension (#+ Extension)]]]]])
 
 (def: artifact
   (-> Version Artifact)
diff --git a/stdlib/source/test/aedifex/repository/identity.lux b/stdlib/source/test/aedifex/repository/identity.lux
index d2a7ce185..df454b436 100644
--- a/stdlib/source/test/aedifex/repository/identity.lux
+++ b/stdlib/source/test/aedifex/repository/identity.lux
@@ -2,13 +2,12 @@
   [lux #*
    ["_" test (#+ Test)]
    [abstract
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random)]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Identity)
diff --git a/stdlib/source/test/aedifex/repository/local.lux b/stdlib/source/test/aedifex/repository/local.lux
index 946494437..5bf4c5113 100644
--- a/stdlib/source/test/aedifex/repository/local.lux
+++ b/stdlib/source/test/aedifex/repository/local.lux
@@ -19,8 +19,8 @@
    [world
     ["." file]
     ["." program]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/aedifex/repository/origin.lux b/stdlib/source/test/aedifex/repository/origin.lux
index 4242a318a..7b3675f40 100644
--- a/stdlib/source/test/aedifex/repository/origin.lux
+++ b/stdlib/source/test/aedifex/repository/origin.lux
@@ -2,13 +2,12 @@
   [lux #*
    ["_" test (#+ Test)]
    [abstract
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random)]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export random
   (Random /.Origin)
diff --git a/stdlib/source/test/aedifex/repository/remote.lux b/stdlib/source/test/aedifex/repository/remote.lux
index f488391ce..0fa784a77 100644
--- a/stdlib/source/test/aedifex/repository/remote.lux
+++ b/stdlib/source/test/aedifex/repository/remote.lux
@@ -25,10 +25,10 @@
       ["#" client]
       ["#/." status]
       ["@#" /]]]]]
-  {#program
+  [\\program
    ["." /
     ["/#" // #_
-     ["#." identity]]]})
+     ["#." identity]]]])
 
 (def: (url_body url)
   (-> URL (@http.Body IO))
diff --git a/stdlib/source/test/aedifex/runtime.lux b/stdlib/source/test/aedifex/runtime.lux
index 0143eaac8..968e753f8 100644
--- a/stdlib/source/test/aedifex/runtime.lux
+++ b/stdlib/source/test/aedifex/runtime.lux
@@ -7,8 +7,8 @@
     ["." text]]
    [math
     ["." random]]]
-  {#program
-   ["." /]})
+  [\\program
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/apply.lux b/stdlib/source/test/lux/abstract/apply.lux
index fc67f9830..97bef5b24 100644
--- a/stdlib/source/test/lux/abstract/apply.lux
+++ b/stdlib/source/test/lux/abstract/apply.lux
@@ -11,8 +11,8 @@
     [number
      ["n" nat]]]
    ["_" test (#+ Test)]]
-  {1
-   ["." / (#+ Apply)]})
+  [\\
+   ["." / (#+ Apply)]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/codec.lux b/stdlib/source/test/lux/abstract/codec.lux
index 1ac81f9d2..3365c1d66 100644
--- a/stdlib/source/test/lux/abstract/codec.lux
+++ b/stdlib/source/test/lux/abstract/codec.lux
@@ -11,10 +11,10 @@
      ["." json (#+ JSON)]]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." / (#+ Codec)
     [//
-     [equivalence (#+ Equivalence)]]]})
+     [equivalence (#+ Equivalence)]]]])
 
 (def: json
   (Codec JSON Bit)
diff --git a/stdlib/source/test/lux/abstract/comonad.lux b/stdlib/source/test/lux/abstract/comonad.lux
index 7e59dfc42..088b4fe55 100644
--- a/stdlib/source/test/lux/abstract/comonad.lux
+++ b/stdlib/source/test/lux/abstract/comonad.lux
@@ -9,8 +9,8 @@
     [number
      ["n" nat]]]
    ["_" test (#+ Test)]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/comonad/cofree.lux b/stdlib/source/test/lux/abstract/comonad/cofree.lux
index 8a089c533..9e6c8a1b1 100644
--- a/stdlib/source/test/lux/abstract/comonad/cofree.lux
+++ b/stdlib/source/test/lux/abstract/comonad/cofree.lux
@@ -4,10 +4,9 @@
    [abstract
     [functor (#+ Functor)]
     [comonad (#+ CoMonad)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." comonad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." comonad]]]
    [control
     ["//" continuation]]
    [data
@@ -16,8 +15,8 @@
      ["." sequence (#+ Sequence) ("#\." comonad)]]]
    [math
     ["." random]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: (injection value)
   (Injection (/.CoFree Sequence))
diff --git a/stdlib/source/test/lux/abstract/enum.lux b/stdlib/source/test/lux/abstract/enum.lux
index 1cee8a211..5a923019c 100644
--- a/stdlib/source/test/lux/abstract/enum.lux
+++ b/stdlib/source/test/lux/abstract/enum.lux
@@ -12,8 +12,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/equivalence.lux b/stdlib/source/test/lux/abstract/equivalence.lux
index cc6da47eb..520fa141c 100644
--- a/stdlib/source/test/lux/abstract/equivalence.lux
+++ b/stdlib/source/test/lux/abstract/equivalence.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      [functor
-       ["$." contravariant]]]}]
+    [\spec
+     [functor
+      ["$." contravariant]]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
@@ -14,8 +13,8 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
-   ["." / (#+ Equivalence)]})
+  [\\
+   ["." / (#+ Equivalence)]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/fold.lux b/stdlib/source/test/lux/abstract/fold.lux
index f4a61fa95..8165c29c3 100644
--- a/stdlib/source/test/lux/abstract/fold.lux
+++ b/stdlib/source/test/lux/abstract/fold.lux
@@ -10,8 +10,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Fold)]})
+  [\\
+   ["." / (#+ Fold)]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/functor.lux b/stdlib/source/test/lux/abstract/functor.lux
index cd56a2aba..05b72f73f 100644
--- a/stdlib/source/test/lux/abstract/functor.lux
+++ b/stdlib/source/test/lux/abstract/functor.lux
@@ -11,8 +11,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Functor)]})
+  [\\
+   ["." / (#+ Functor)]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/functor/contravariant.lux b/stdlib/source/test/lux/abstract/functor/contravariant.lux
index e6791756f..38bf62cbf 100644
--- a/stdlib/source/test/lux/abstract/functor/contravariant.lux
+++ b/stdlib/source/test/lux/abstract/functor/contravariant.lux
@@ -1,8 +1,8 @@
 (.module:
   [lux #*
    ["_" test (#+ Test)]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/hash.lux b/stdlib/source/test/lux/abstract/hash.lux
index d9ddadabe..f06a7dfc2 100644
--- a/stdlib/source/test/lux/abstract/hash.lux
+++ b/stdlib/source/test/lux/abstract/hash.lux
@@ -3,20 +3,19 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      [functor
-       ["$." contravariant]]]}]
+    [\spec
+     [functor
+      ["$." contravariant]]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
     ["." random]
     [number
      ["." nat]]]]
-  {1
+  [\\
    ["." / (#+ Hash)
     [//
-     [equivalence (#+ Equivalence)]]]})
+     [equivalence (#+ Equivalence)]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/interval.lux b/stdlib/source/test/lux/abstract/interval.lux
index ccd5562c8..db8eb86be 100644
--- a/stdlib/source/test/lux/abstract/interval.lux
+++ b/stdlib/source/test/lux/abstract/interval.lux
@@ -4,9 +4,8 @@
    [abstract
     [monad (#+ do)]
     ["." order]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     [pipe (#+ case>)]]
    [data
@@ -17,8 +16,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Interval) ("\." equivalence)]})
+  [\\
+   ["." / (#+ Interval) ("\." equivalence)]])
 
 (template [<name> <cmp>]
   [(def: #export <name>
diff --git a/stdlib/source/test/lux/abstract/monad.lux b/stdlib/source/test/lux/abstract/monad.lux
index 805e6478f..f66ee182f 100644
--- a/stdlib/source/test/lux/abstract/monad.lux
+++ b/stdlib/source/test/lux/abstract/monad.lux
@@ -9,8 +9,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Monad do)]})
+  [\\
+   ["." / (#+ Monad do)]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/monad/free.lux b/stdlib/source/test/lux/abstract/monad/free.lux
index 5f71df542..6afb3ed62 100644
--- a/stdlib/source/test/lux/abstract/monad/free.lux
+++ b/stdlib/source/test/lux/abstract/monad/free.lux
@@ -5,18 +5,17 @@
     [functor (#+ Functor)]
     [apply (#+ Apply)]
     [monad (#+ Monad do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [data
     [collection
      ["." list ("#\." functor)]]]
    [math
     ["." random]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: injection
   (Injection (/.Free List))
diff --git a/stdlib/source/test/lux/abstract/monoid.lux b/stdlib/source/test/lux/abstract/monoid.lux
index 81835537b..acd00b91a 100644
--- a/stdlib/source/test/lux/abstract/monoid.lux
+++ b/stdlib/source/test/lux/abstract/monoid.lux
@@ -8,10 +8,10 @@
     [number
      ["." nat]
      ["." int]]]]
-  {1
+  [\\
    ["." /
     [//
-     [equivalence (#+ Equivalence)]]]})
+     [equivalence (#+ Equivalence)]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/order.lux b/stdlib/source/test/lux/abstract/order.lux
index 495db63e8..2dc09461c 100644
--- a/stdlib/source/test/lux/abstract/order.lux
+++ b/stdlib/source/test/lux/abstract/order.lux
@@ -3,20 +3,19 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      [functor
-       ["$." contravariant]]]}]
+    [\spec
+     [functor
+      ["$." contravariant]]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
     [//
-     [equivalence (#+ Equivalence)]]]})
+     [equivalence (#+ Equivalence)]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/abstract/predicate.lux b/stdlib/source/test/lux/abstract/predicate.lux
index cf8ee5ad5..133fbdcba 100644
--- a/stdlib/source/test/lux/abstract/predicate.lux
+++ b/stdlib/source/test/lux/abstract/predicate.lux
@@ -4,11 +4,10 @@
    [abstract
     [equivalence (#+ Equivalence)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." monoid]
-      [functor
-       ["$." contravariant]]]}]
+    [\spec
+     ["$." monoid]
+     [functor
+      ["$." contravariant]]]]
    [control
     ["." function]]
    [data
@@ -19,8 +18,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: (multiple? factor)
   (-> Nat (/.Predicate Nat))
diff --git a/stdlib/source/test/lux/control/concatenative.lux b/stdlib/source/test/lux/control/concatenative.lux
index 090fd799f..bfac126b0 100644
--- a/stdlib/source/test/lux/control/concatenative.lux
+++ b/stdlib/source/test/lux/control/concatenative.lux
@@ -16,8 +16,8 @@
      ["i" int]
      ["r" rev]
      ["f" frac]]]]
-  {1
-   ["." / (#+ word: => ||>)]})
+  [\\
+   ["." / (#+ word: => ||>)]])
 
 (def: stack_shuffling
   Test
diff --git a/stdlib/source/test/lux/control/concurrency/actor.lux b/stdlib/source/test/lux/control/concurrency/actor.lux
index 487e4c48c..854a50814 100644
--- a/stdlib/source/test/lux/control/concurrency/actor.lux
+++ b/stdlib/source/test/lux/control/concurrency/actor.lux
@@ -17,12 +17,12 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." / (#+ actor: message:)
     [//
      ["." atom (#+ Atom)]
      ["." promise (#+ Promise Resolver) ("#\." monad)]
-     ["." frp]]]})
+     ["." frp]]]])
 
 (exception: got_wrecked)
 
diff --git a/stdlib/source/test/lux/control/concurrency/atom.lux b/stdlib/source/test/lux/control/concurrency/atom.lux
index ab86747e5..b160f64e0 100644
--- a/stdlib/source/test/lux/control/concurrency/atom.lux
+++ b/stdlib/source/test/lux/control/concurrency/atom.lux
@@ -9,8 +9,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/control/concurrency/frp.lux b/stdlib/source/test/lux/control/concurrency/frp.lux
index 2c724fa2a..659881a20 100644
--- a/stdlib/source/test/lux/control/concurrency/frp.lux
+++ b/stdlib/source/test/lux/control/concurrency/frp.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." try]
     ["." exception]
@@ -20,11 +19,11 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
     [//
      ["." promise (#+ Promise) ("#\." monad)]
-     ["." atom (#+ Atom atom)]]]})
+     ["." atom (#+ Atom atom)]]]])
 
 (def: injection
   (Injection /.Channel)
diff --git a/stdlib/source/test/lux/control/concurrency/promise.lux b/stdlib/source/test/lux/control/concurrency/promise.lux
index ee6ad2b43..16c60c508 100644
--- a/stdlib/source/test/lux/control/concurrency/promise.lux
+++ b/stdlib/source/test/lux/control/concurrency/promise.lux
@@ -4,11 +4,10 @@
    ["@" target]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     [pipe (#+ case>)]
     ["." io]]
@@ -21,10 +20,10 @@
      ["n" nat]
      ["i" int]
      ["." i64]]]]
-  {1
+  [\\
    ["." /
     [//
-     ["." atom (#+ Atom)]]]})
+     ["." atom (#+ Atom)]]]])
 
 (def: injection
   (Injection /.Promise)
diff --git a/stdlib/source/test/lux/control/concurrency/semaphore.lux b/stdlib/source/test/lux/control/concurrency/semaphore.lux
index a8e64124c..8924cf66f 100644
--- a/stdlib/source/test/lux/control/concurrency/semaphore.lux
+++ b/stdlib/source/test/lux/control/concurrency/semaphore.lux
@@ -25,8 +25,8 @@
      ["." i64]]]
    [type
     ["." refinement]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: delay
   (for {@.js
diff --git a/stdlib/source/test/lux/control/concurrency/stm.lux b/stdlib/source/test/lux/control/concurrency/stm.lux
index 2eec0d207..6bbbc3f54 100644
--- a/stdlib/source/test/lux/control/concurrency/stm.lux
+++ b/stdlib/source/test/lux/control/concurrency/stm.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     ["." monad (#+ Monad do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." io (#+ IO)]]
    [data
@@ -18,12 +17,12 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
     [//
      ["." atom (#+ Atom atom)]
      ["." promise]
-     ["." frp (#+ Channel)]]]})
+     ["." frp (#+ Channel)]]]])
 
 (def: injection
   (Injection /.STM)
diff --git a/stdlib/source/test/lux/control/concurrency/thread.lux b/stdlib/source/test/lux/control/concurrency/thread.lux
index f1ea184f0..df005c4ac 100644
--- a/stdlib/source/test/lux/control/concurrency/thread.lux
+++ b/stdlib/source/test/lux/control/concurrency/thread.lux
@@ -13,11 +13,11 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
+  [\\
    ["." /
     [//
      ["." atom (#+ Atom)]
-     ["." promise]]]})
+     ["." promise]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/control/continuation.lux b/stdlib/source/test/lux/control/continuation.lux
index 24aadf440..a85418f8a 100644
--- a/stdlib/source/test/lux/control/continuation.lux
+++ b/stdlib/source/test/lux/control/continuation.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [data
     [collection
      ["." list]]]
@@ -15,8 +14,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: injection
   (All [o] (Injection (All [i] (/.Cont i o))))
diff --git a/stdlib/source/test/lux/control/exception.lux b/stdlib/source/test/lux/control/exception.lux
index c65a88fbf..e63a2b66e 100644
--- a/stdlib/source/test/lux/control/exception.lux
+++ b/stdlib/source/test/lux/control/exception.lux
@@ -10,10 +10,10 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." / (#+ exception:)
     [//
-     ["." try (#+ Try)]]]})
+     ["." try (#+ Try)]]]])
 
 (exception: an-exception)
 (exception: another-exception)
diff --git a/stdlib/source/test/lux/control/function.lux b/stdlib/source/test/lux/control/function.lux
index f1730629c..6463e4c1c 100644
--- a/stdlib/source/test/lux/control/function.lux
+++ b/stdlib/source/test/lux/control/function.lux
@@ -4,17 +4,16 @@
    [abstract
     [equivalence (#+ Equivalence)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." monoid]]}]
+    [\spec
+     ["$." monoid]]]
    [data
     ["." text ("#!." equivalence)]]
    [math
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["." / #_
    ["#." contract]
    ["#." memo]
diff --git a/stdlib/source/test/lux/control/function/contract.lux b/stdlib/source/test/lux/control/function/contract.lux
index 0e31427ee..e1b06a325 100644
--- a/stdlib/source/test/lux/control/function/contract.lux
+++ b/stdlib/source/test/lux/control/function/contract.lux
@@ -9,8 +9,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/control/function/memo.lux b/stdlib/source/test/lux/control/function/memo.lux
index fdf9119f6..87cf14b0b 100644
--- a/stdlib/source/test/lux/control/function/memo.lux
+++ b/stdlib/source/test/lux/control/function/memo.lux
@@ -19,10 +19,10 @@
    [time
     ["." instant]
     ["." duration (#+ Duration)]]]
-  {1
+  [\\
    ["." /
     ["/#" // #_
-     ["#" mixin]]]})
+     ["#" mixin]]]])
 
 (def: (fibonacci recur input)
   (/.Memo Nat Nat)
diff --git a/stdlib/source/test/lux/control/function/mixin.lux b/stdlib/source/test/lux/control/function/mixin.lux
index ed6ba8591..35cd36027 100644
--- a/stdlib/source/test/lux/control/function/mixin.lux
+++ b/stdlib/source/test/lux/control/function/mixin.lux
@@ -5,9 +5,8 @@
     [equivalence (#+ Equivalence)]
     [predicate (#+ Predicate)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." monoid]]}]
+    [\spec
+     ["$." monoid]]]
    [control
     ["." state (#+ State)]]
    [data
@@ -18,8 +17,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/control/function/mutual.lux b/stdlib/source/test/lux/control/function/mutual.lux
index e645e282b..120413e5a 100644
--- a/stdlib/source/test/lux/control/function/mutual.lux
+++ b/stdlib/source/test/lux/control/function/mutual.lux
@@ -11,8 +11,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: test_let
   Test
diff --git a/stdlib/source/test/lux/control/io.lux b/stdlib/source/test/lux/control/io.lux
index 30e4656c8..a45fd28a9 100644
--- a/stdlib/source/test/lux/control/io.lux
+++ b/stdlib/source/test/lux/control/io.lux
@@ -3,19 +3,18 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [math
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." / (#+ IO)
     [//
-     ["." function]]]})
+     ["." function]]]])
 
 (def: injection
   (Injection IO)
diff --git a/stdlib/source/test/lux/control/parser.lux b/stdlib/source/test/lux/control/parser.lux
index 82ce4e6a4..81155f605 100644
--- a/stdlib/source/test/lux/control/parser.lux
+++ b/stdlib/source/test/lux/control/parser.lux
@@ -4,11 +4,10 @@
    [abstract
     [monad (#+ do)]
     [equivalence (#+ Equivalence)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." try (#+ Try)]
     [parser
@@ -25,8 +24,8 @@
    [macro
     [syntax (#+ syntax:)]
     ["." code]]]
-  {1
-   ["." / (#+ Parser)]}
+  [\\
+   ["." / (#+ Parser)]]
   ["." / #_
    ["#." analysis]
    ["#." binary]
diff --git a/stdlib/source/test/lux/control/parser/analysis.lux b/stdlib/source/test/lux/control/parser/analysis.lux
index 756ef3d21..49e7b0478 100644
--- a/stdlib/source/test/lux/control/parser/analysis.lux
+++ b/stdlib/source/test/lux/control/parser/analysis.lux
@@ -28,8 +28,8 @@
      [language
       [lux
        ["." analysis]]]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template: (!expect <expectation> <computation>)
   (case <computation>
diff --git a/stdlib/source/test/lux/control/parser/binary.lux b/stdlib/source/test/lux/control/parser/binary.lux
index 5311ccdb3..289a80ba9 100644
--- a/stdlib/source/test/lux/control/parser/binary.lux
+++ b/stdlib/source/test/lux/control/parser/binary.lux
@@ -37,8 +37,8 @@
      ["." int]
      ["." rev]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template: (!expect <expectation> <computation>)
   (case <computation>
diff --git a/stdlib/source/test/lux/control/parser/cli.lux b/stdlib/source/test/lux/control/parser/cli.lux
index 41ffb4e23..97ffd5e0e 100644
--- a/stdlib/source/test/lux/control/parser/cli.lux
+++ b/stdlib/source/test/lux/control/parser/cli.lux
@@ -14,8 +14,8 @@
     ["." random]
     [number
      ["n" nat ("#\." decimal)]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/parser/code.lux b/stdlib/source/test/lux/control/parser/code.lux
index 0a8311fb3..987f0ad9d 100644
--- a/stdlib/source/test/lux/control/parser/code.lux
+++ b/stdlib/source/test/lux/control/parser/code.lux
@@ -22,8 +22,8 @@
      ["." int]
      ["." rev]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/parser/environment.lux b/stdlib/source/test/lux/control/parser/environment.lux
index 6a210f2a0..48b7bca54 100644
--- a/stdlib/source/test/lux/control/parser/environment.lux
+++ b/stdlib/source/test/lux/control/parser/environment.lux
@@ -14,9 +14,9 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
-    ["/#" // ("#\." monad)]]})
+    ["/#" // ("#\." monad)]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/control/parser/json.lux b/stdlib/source/test/lux/control/parser/json.lux
index 4d8dc0b8e..0a4adcc83 100644
--- a/stdlib/source/test/lux/control/parser/json.lux
+++ b/stdlib/source/test/lux/control/parser/json.lux
@@ -24,8 +24,8 @@
     [number
      ["n" nat]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/parser/synthesis.lux b/stdlib/source/test/lux/control/parser/synthesis.lux
index 7916f7217..064891f2c 100644
--- a/stdlib/source/test/lux/control/parser/synthesis.lux
+++ b/stdlib/source/test/lux/control/parser/synthesis.lux
@@ -28,8 +28,8 @@
       [lux
        [analysis (#+ Environment)]
        ["." synthesis (#+ Synthesis)]]]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/parser/text.lux b/stdlib/source/test/lux/control/parser/text.lux
index 6b2152320..0ccad4208 100644
--- a/stdlib/source/test/lux/control/parser/text.lux
+++ b/stdlib/source/test/lux/control/parser/text.lux
@@ -25,10 +25,10 @@
      ["n" nat]]]
    [macro
     ["." code]]]
-  {1
+  [\\
    ["." /
     ["<>" //
-     ["<c>" code]]]})
+     ["<c>" code]]]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/parser/tree.lux b/stdlib/source/test/lux/control/parser/tree.lux
index 5dbe726ea..f4daaf751 100644
--- a/stdlib/source/test/lux/control/parser/tree.lux
+++ b/stdlib/source/test/lux/control/parser/tree.lux
@@ -14,9 +14,9 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
-    ["/#" //]]})
+    ["/#" //]]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/parser/type.lux b/stdlib/source/test/lux/control/parser/type.lux
index 5390498c7..d2a9bce32 100644
--- a/stdlib/source/test/lux/control/parser/type.lux
+++ b/stdlib/source/test/lux/control/parser/type.lux
@@ -15,9 +15,9 @@
     [number
      ["n" nat]]]
    ["." type ("#\." equivalence)]]
-  {1
+  [\\
    ["." /
-    ["/#" //]]})
+    ["/#" //]]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/parser/xml.lux b/stdlib/source/test/lux/control/parser/xml.lux
index c2d0ac4e2..116f948da 100644
--- a/stdlib/source/test/lux/control/parser/xml.lux
+++ b/stdlib/source/test/lux/control/parser/xml.lux
@@ -21,9 +21,9 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
-    ["/#" // ("#\." monad)]]})
+    ["/#" // ("#\." monad)]]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/control/pipe.lux b/stdlib/source/test/lux/control/pipe.lux
index a9adcbf2e..61d7aab25 100644
--- a/stdlib/source/test/lux/control/pipe.lux
+++ b/stdlib/source/test/lux/control/pipe.lux
@@ -12,8 +12,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/control/reader.lux b/stdlib/source/test/lux/control/reader.lux
index 11c8b8855..9302a014c 100644
--- a/stdlib/source/test/lux/control/reader.lux
+++ b/stdlib/source/test/lux/control/reader.lux
@@ -3,19 +3,18 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [math
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." / (#+ Reader)
     [//
-     ["." io (#+ IO)]]]})
+     ["." io (#+ IO)]]]])
 
 (def: (injection value)
   (Injection (All [a r] (Reader r a)))
diff --git a/stdlib/source/test/lux/control/region.lux b/stdlib/source/test/lux/control/region.lux
index 3fb0d1d82..5e21b3a37 100644
--- a/stdlib/source/test/lux/control/region.lux
+++ b/stdlib/source/test/lux/control/region.lux
@@ -8,11 +8,10 @@
     [apply (#+ Apply)]
     ["." monad (#+ Monad do)]
     ["." enum]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." try (#+ Try)]]
    [data
@@ -22,11 +21,11 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." / (#+ Region)
     [//
      ["." thread (#+ Thread)]
-     ["." exception (#+ Exception exception:)]]]})
+     ["." exception (#+ Exception exception:)]]]])
 
 (exception: oops)
 
diff --git a/stdlib/source/test/lux/control/remember.lux b/stdlib/source/test/lux/control/remember.lux
index 6e8c96118..17c59b8a3 100644
--- a/stdlib/source/test/lux/control/remember.lux
+++ b/stdlib/source/test/lux/control/remember.lux
@@ -24,8 +24,8 @@
    ["." macro
     ["." code]
     ["." syntax (#+ syntax:)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: deadline (Random Date) random.date)
 (def: message (Random Text) (random\map %.bit random.bit))
diff --git a/stdlib/source/test/lux/control/security/capability.lux b/stdlib/source/test/lux/control/security/capability.lux
index 7804cda68..ef3d64d05 100644
--- a/stdlib/source/test/lux/control/security/capability.lux
+++ b/stdlib/source/test/lux/control/security/capability.lux
@@ -11,8 +11,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (/.capability: (Can-Shift a)
   (can-shift [a Nat] [a Nat]))
diff --git a/stdlib/source/test/lux/control/security/policy.lux b/stdlib/source/test/lux/control/security/policy.lux
index ef0454553..0cf9729dd 100644
--- a/stdlib/source/test/lux/control/security/policy.lux
+++ b/stdlib/source/test/lux/control/security/policy.lux
@@ -4,19 +4,18 @@
    [abstract
     [hash (#+ Hash)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [data
     ["." text ("#\." equivalence)]]
    [math
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Context Privacy Can_Conceal Can_Reveal Privilege Private)]})
+  [\\
+   ["." / (#+ Context Privacy Can_Conceal Can_Reveal Privilege Private)]])
 
 (def: (injection can_conceal)
   (All [label]
diff --git a/stdlib/source/test/lux/control/state.lux b/stdlib/source/test/lux/control/state.lux
index a79bfc84c..6d6626522 100644
--- a/stdlib/source/test/lux/control/state.lux
+++ b/stdlib/source/test/lux/control/state.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     [pipe (#+ let>)]
     ["." io]]
@@ -17,8 +16,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ State)]})
+  [\\
+   ["." / (#+ State)]])
 
 (def: (with-conditions [state output] computation)
   (-> [Nat Nat] (State Nat Nat) Bit)
diff --git a/stdlib/source/test/lux/control/thread.lux b/stdlib/source/test/lux/control/thread.lux
index 5fac55739..d2369a0bc 100644
--- a/stdlib/source/test/lux/control/thread.lux
+++ b/stdlib/source/test/lux/control/thread.lux
@@ -3,19 +3,18 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [math
     ["." random]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." / (#+ Thread)
     [//
-     ["." io]]]})
+     ["." io]]]])
 
 (def: (injection value)
   (Injection (All [a !] (Thread ! a)))
diff --git a/stdlib/source/test/lux/control/try.lux b/stdlib/source/test/lux/control/try.lux
index 6f1e22a7c..c2b00360f 100644
--- a/stdlib/source/test/lux/control/try.lux
+++ b/stdlib/source/test/lux/control/try.lux
@@ -3,12 +3,11 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]
-      ["$." equivalence]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]
+     ["$." equivalence]]]
    [control
     pipe
     ["." io]]
@@ -18,8 +17,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Try)]})
+  [\\
+   ["." / (#+ Try)]])
 
 (def: injection
   (Injection Try)
diff --git a/stdlib/source/test/lux/control/writer.lux b/stdlib/source/test/lux/control/writer.lux
index 843bab32b..1c007d9b1 100644
--- a/stdlib/source/test/lux/control/writer.lux
+++ b/stdlib/source/test/lux/control/writer.lux
@@ -5,11 +5,10 @@
     [equivalence (#+ Equivalence)]
     [monoid (#+ Monoid)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." io]]
    [data
@@ -19,8 +18,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Writer)]})
+  [\\
+   ["." / (#+ Writer)]])
 
 (def: (injection monoid value)
   (All [w] (-> (Monoid w) (Injection (Writer w))))
diff --git a/stdlib/source/test/lux/data/binary.lux b/stdlib/source/test/lux/data/binary.lux
index 11d4a8889..ba5e36662 100644
--- a/stdlib/source/test/lux/data/binary.lux
+++ b/stdlib/source/test/lux/data/binary.lux
@@ -4,10 +4,9 @@
    [abstract
     ["." monad (#+ do)]
     ["." enum]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." monoid]]]
    [control
     ["." try (#+ Try)]
     ["." exception (#+ Exception)]]
@@ -19,8 +18,8 @@
     [number
      ["." i64]
      ["n" nat]]]]
-  {1
-   ["." / (#+ Binary)]})
+  [\\
+   ["." / (#+ Binary)]])
 
 (def: (succeed result)
   (-> (Try Bit) Bit)
diff --git a/stdlib/source/test/lux/data/bit.lux b/stdlib/source/test/lux/data/bit.lux
index 8fa84d273..341da9beb 100644
--- a/stdlib/source/test/lux/data/bit.lux
+++ b/stdlib/source/test/lux/data/bit.lux
@@ -5,16 +5,15 @@
     ["." random]]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." monoid]
+     ["$." codec]]]
    [control
     ["." function]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/data/collection/array.lux b/stdlib/source/test/lux/data/collection/array.lux
index b2757b863..e99478ee8 100644
--- a/stdlib/source/test/lux/data/collection/array.lux
+++ b/stdlib/source/test/lux/data/collection/array.lux
@@ -3,12 +3,11 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." monoid]
-      ["$." fold]
-      ["$." functor (#+ Injection)]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." monoid]
+     ["$." fold]
+     ["$." functor (#+ Injection)]]]
    [data
     ["." bit]
     ["." maybe]
@@ -19,8 +18,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Array)]})
+  [\\
+   ["." / (#+ Array)]])
 
 (def: injection
   (Injection Array)
diff --git a/stdlib/source/test/lux/data/collection/bits.lux b/stdlib/source/test/lux/data/collection/bits.lux
index f4b780864..258c84107 100644
--- a/stdlib/source/test/lux/data/collection/bits.lux
+++ b/stdlib/source/test/lux/data/collection/bits.lux
@@ -4,15 +4,14 @@
    [abstract
     [monad (#+ do)]
     ["." predicate]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Bits)]})
+  [\\
+   ["." / (#+ Bits)]])
 
 (def: (size min max)
   (-> Nat Nat (Random Nat))
diff --git a/stdlib/source/test/lux/data/collection/dictionary.lux b/stdlib/source/test/lux/data/collection/dictionary.lux
index d4ba74ed7..d68b421d9 100644
--- a/stdlib/source/test/lux/data/collection/dictionary.lux
+++ b/stdlib/source/test/lux/data/collection/dictionary.lux
@@ -4,10 +4,9 @@
    [abstract
     [hash (#+ Hash)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." functor (#+ Injection)]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." functor (#+ Injection)]]]
    [control
     ["." try]
     ["." exception]]
@@ -20,8 +19,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: injection
   (Injection (/.Dictionary Nat))
diff --git a/stdlib/source/test/lux/data/collection/dictionary/ordered.lux b/stdlib/source/test/lux/data/collection/dictionary/ordered.lux
index 778726329..a004e5c97 100644
--- a/stdlib/source/test/lux/data/collection/dictionary/ordered.lux
+++ b/stdlib/source/test/lux/data/collection/dictionary/ordered.lux
@@ -5,9 +5,8 @@
     [monad (#+ do)]
     [equivalence (#+ Equivalence)]
     [order (#+ Order)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [data
     ["." product]
     ["." bit ("#\." equivalence)]
@@ -19,8 +18,8 @@
     ["." random (#+ Random) ("#\." monad)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (dictionary order gen_key gen_value size)
   (All [k v]
diff --git a/stdlib/source/test/lux/data/collection/dictionary/plist.lux b/stdlib/source/test/lux/data/collection/dictionary/plist.lux
index 7473aec04..4811b1162 100644
--- a/stdlib/source/test/lux/data/collection/dictionary/plist.lux
+++ b/stdlib/source/test/lux/data/collection/dictionary/plist.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [data
     ["." bit ("#\." equivalence)]
     ["." maybe ("#\." monad)]
@@ -17,8 +16,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (random size gen_key gen_value)
   (All [v]
diff --git a/stdlib/source/test/lux/data/collection/list.lux b/stdlib/source/test/lux/data/collection/list.lux
index 3efc42254..625ce2bad 100644
--- a/stdlib/source/test/lux/data/collection/list.lux
+++ b/stdlib/source/test/lux/data/collection/list.lux
@@ -4,15 +4,14 @@
    [abstract
     [monad (#+ do)]
     ["." enum]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." monoid]
-      ["$." fold]
-      ["$." functor]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." monoid]
+     ["$." fold]
+     ["$." functor]
+     ["$." apply]
+     ["$." monad]]]
    [control
     pipe
     ["." io]
@@ -29,8 +28,8 @@
     [number
      ["n" nat]
      ["." int]]]]
-  {1
-   ["." / ("#\." monad)]})
+  [\\
+   ["." / ("#\." monad)]])
 
 (def: bounded_size
   (Random Nat)
diff --git a/stdlib/source/test/lux/data/collection/queue.lux b/stdlib/source/test/lux/data/collection/queue.lux
index b246f8187..8ddd0533a 100644
--- a/stdlib/source/test/lux/data/collection/queue.lux
+++ b/stdlib/source/test/lux/data/collection/queue.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." functor (#+ Injection)]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." functor (#+ Injection)]]]
    [data
     ["." bit ("#\." equivalence)]
     [collection
@@ -16,8 +15,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: injection
   (Injection /.Queue)
diff --git a/stdlib/source/test/lux/data/collection/queue/priority.lux b/stdlib/source/test/lux/data/collection/queue/priority.lux
index 4e99d2a3a..653e0ca52 100644
--- a/stdlib/source/test/lux/data/collection/queue/priority.lux
+++ b/stdlib/source/test/lux/data/collection/queue/priority.lux
@@ -10,8 +10,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Queue)]})
+  [\\
+   ["." / (#+ Queue)]])
 
 (def: #export (random size)
   (-> Nat (Random (Queue Nat)))
diff --git a/stdlib/source/test/lux/data/collection/row.lux b/stdlib/source/test/lux/data/collection/row.lux
index 55d9492ff..e523fd656 100644
--- a/stdlib/source/test/lux/data/collection/row.lux
+++ b/stdlib/source/test/lux/data/collection/row.lux
@@ -3,14 +3,13 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." monoid]
-      ["$." fold]
-      ["$." functor (#+ Injection)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." monoid]
+     ["$." fold]
+     ["$." functor (#+ Injection)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." try (#+ Try)]
     ["." exception]]
@@ -23,8 +22,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." / ("#\." monad)]})
+  [\\
+   ["." / ("#\." monad)]])
 
 (def: signatures
   Test
diff --git a/stdlib/source/test/lux/data/collection/sequence.lux b/stdlib/source/test/lux/data/collection/sequence.lux
index d10ee90cc..1d5e111af 100644
--- a/stdlib/source/test/lux/data/collection/sequence.lux
+++ b/stdlib/source/test/lux/data/collection/sequence.lux
@@ -5,10 +5,9 @@
     [monad (#+ do)]
     [equivalence (#+ Equivalence)]
     ["." enum]
-    {[0 #spec]
-     [/
-      ["$." functor]
-      ["$." comonad]]}]
+    [\spec
+     ["$." functor]
+     ["$." comonad]]]
    [data
     ["." text
      ["%" format (#+ format)]]
@@ -18,8 +17,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (implementation: (equivalence super)
   (All [a] (-> (Equivalence a) (Equivalence (/.Sequence a))))
diff --git a/stdlib/source/test/lux/data/collection/set.lux b/stdlib/source/test/lux/data/collection/set.lux
index a0d7e446b..f577ce59f 100644
--- a/stdlib/source/test/lux/data/collection/set.lux
+++ b/stdlib/source/test/lux/data/collection/set.lux
@@ -4,11 +4,10 @@
    [abstract
     [hash (#+ Hash)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." monoid]]]
    [data
     ["." bit ("#\." equivalence)]
     [collection
@@ -17,8 +16,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / ("\." equivalence)]})
+  [\\
+   ["." / ("\." equivalence)]])
 
 (def: gen_nat
   (Random Nat)
diff --git a/stdlib/source/test/lux/data/collection/set/multi.lux b/stdlib/source/test/lux/data/collection/set/multi.lux
index feea35e2f..4e1cd4f48 100644
--- a/stdlib/source/test/lux/data/collection/set/multi.lux
+++ b/stdlib/source/test/lux/data/collection/set/multi.lux
@@ -5,10 +5,9 @@
     [hash (#+ Hash)]
     [monad (#+ do)]
     ["." predicate]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]]]
    [data
     ["." bit ("#\." equivalence)]
     [collection
@@ -18,8 +17,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: count
   (Random Nat)
diff --git a/stdlib/source/test/lux/data/collection/set/ordered.lux b/stdlib/source/test/lux/data/collection/set/ordered.lux
index daf924012..385bc3c4a 100644
--- a/stdlib/source/test/lux/data/collection/set/ordered.lux
+++ b/stdlib/source/test/lux/data/collection/set/ordered.lux
@@ -4,9 +4,8 @@
    [abstract
     [monad (#+ do)]
     [order (#+ Order)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [data
     ["." bit ("#\." equivalence)]
     [collection
@@ -15,9 +14,9 @@
     ["." random (#+ Random) ("#\." monad)]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." / (#+ Set)
-    ["." //]]})
+    ["." //]]])
 
 (def: size
   (random.Random Nat)
diff --git a/stdlib/source/test/lux/data/collection/stack.lux b/stdlib/source/test/lux/data/collection/stack.lux
index ae6fbabf6..317911b6b 100644
--- a/stdlib/source/test/lux/data/collection/stack.lux
+++ b/stdlib/source/test/lux/data/collection/stack.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." functor (#+ Injection)]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." functor (#+ Injection)]]]
    [data
     ["." maybe]
     ["." bit ("#\." equivalence)]]
@@ -14,8 +13,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: (injection value)
   (Injection /.Stack)
diff --git a/stdlib/source/test/lux/data/collection/tree.lux b/stdlib/source/test/lux/data/collection/tree.lux
index b7fea5e4f..91817180d 100644
--- a/stdlib/source/test/lux/data/collection/tree.lux
+++ b/stdlib/source/test/lux/data/collection/tree.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     ["." monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." fold]
-      ["$." functor]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." fold]
+     ["$." functor]]]
    [data
     ["." product]
     [collection
@@ -16,8 +15,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Tree)]})
+  [\\
+   ["." / (#+ Tree)]])
 
 (def: #export (tree gen-value)
   (All [a] (-> (Random a) (Random [Nat (Tree a)])))
diff --git a/stdlib/source/test/lux/data/collection/tree/finger.lux b/stdlib/source/test/lux/data/collection/tree/finger.lux
index 55c3d9118..2c4c83466 100644
--- a/stdlib/source/test/lux/data/collection/tree/finger.lux
+++ b/stdlib/source/test/lux/data/collection/tree/finger.lux
@@ -13,8 +13,8 @@
     [number
      ["n" nat]]]
    [type (#+ :by_example)]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: builder
   (/.builder text.monoid))
diff --git a/stdlib/source/test/lux/data/collection/tree/zipper.lux b/stdlib/source/test/lux/data/collection/tree/zipper.lux
index 929572a37..6a7832736 100644
--- a/stdlib/source/test/lux/data/collection/tree/zipper.lux
+++ b/stdlib/source/test/lux/data/collection/tree/zipper.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." functor]
-      ["$." comonad]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." functor]
+     ["$." comonad]]]
    [control
     pipe]
    [data
@@ -21,9 +20,9 @@
     [number
      ["n" nat]]]]
   ["." //]
-  {1
+  [\\
    ["." / (#+ Zipper)
-    ["tree" //]]})
+    ["tree" //]]])
 
 (def: move
   Test
diff --git a/stdlib/source/test/lux/data/color.lux b/stdlib/source/test/lux/data/color.lux
index 50b1c1fd6..2877af081 100644
--- a/stdlib/source/test/lux/data/color.lux
+++ b/stdlib/source/test/lux/data/color.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." monoid]]]
    [data
     [collection
      ["." list]]]
@@ -20,8 +19,8 @@
      ["." int]
      ["f" frac]
      ["r" rev]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export random
   (Random /.Color)
diff --git a/stdlib/source/test/lux/data/color/named.lux b/stdlib/source/test/lux/data/color/named.lux
index 14ec96329..bddd74593 100644
--- a/stdlib/source/test/lux/data/color/named.lux
+++ b/stdlib/source/test/lux/data/color/named.lux
@@ -13,9 +13,9 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
-    ["/#" //]]})
+    ["/#" //]]])
 
 (with_expansions [<colors> (as_is [letter/a
                                    [/.alice_blue
diff --git a/stdlib/source/test/lux/data/format/binary.lux b/stdlib/source/test/lux/data/format/binary.lux
index c667c6070..8912ae845 100644
--- a/stdlib/source/test/lux/data/format/binary.lux
+++ b/stdlib/source/test/lux/data/format/binary.lux
@@ -4,15 +4,14 @@
    [abstract
     [equivalence (#+ Equivalence)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." monoid]]}]
+    [\spec
+     ["$." monoid]]]
    [data
     ["." binary ("#\." equivalence)]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (implementation: equivalence
   (Equivalence /.Specification)
diff --git a/stdlib/source/test/lux/data/format/json.lux b/stdlib/source/test/lux/data/format/json.lux
index 091f64b67..5e425db79 100644
--- a/stdlib/source/test/lux/data/format/json.lux
+++ b/stdlib/source/test/lux/data/format/json.lux
@@ -4,10 +4,9 @@
    ["." meta]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." codec]]]
    [control
     ["." try ("#\." functor)]]
    [data
@@ -28,8 +27,8 @@
    ["." macro
     ["." syntax (#+ syntax:)]
     ["." code]]]
-  {1
-   ["." / (#+ JSON) ("\." equivalence)]})
+  [\\
+   ["." / (#+ JSON) ("\." equivalence)]])
 
 (def: #export random
   (Random /.JSON)
diff --git a/stdlib/source/test/lux/data/format/tar.lux b/stdlib/source/test/lux/data/format/tar.lux
index c7250a025..540eb2af1 100644
--- a/stdlib/source/test/lux/data/format/tar.lux
+++ b/stdlib/source/test/lux/data/format/tar.lux
@@ -32,8 +32,8 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: path
   Test
diff --git a/stdlib/source/test/lux/data/format/xml.lux b/stdlib/source/test/lux/data/format/xml.lux
index bd3b45216..95a06127f 100644
--- a/stdlib/source/test/lux/data/format/xml.lux
+++ b/stdlib/source/test/lux/data/format/xml.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ Monad do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." codec]]]
    [control
     pipe
     ["." try]
@@ -24,8 +23,8 @@
     ["." random (#+ Random) ("#\." monad)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ XML)]})
+  [\\
+   ["." / (#+ XML)]])
 
 (def: char_range
   Text
diff --git a/stdlib/source/test/lux/data/identity.lux b/stdlib/source/test/lux/data/identity.lux
index a68e11511..918eb10f6 100644
--- a/stdlib/source/test/lux/data/identity.lux
+++ b/stdlib/source/test/lux/data/identity.lux
@@ -3,14 +3,13 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]
-      ["$." comonad]]}]]
-  {1
-   ["." / (#+ Identity)]})
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]
+     ["$." comonad]]]]
+  [\\
+   ["." / (#+ Identity)]])
 
 (def: injection
   (Injection Identity)
diff --git a/stdlib/source/test/lux/data/lazy.lux b/stdlib/source/test/lux/data/lazy.lux
index 86d28d753..87d77ca68 100644
--- a/stdlib/source/test/lux/data/lazy.lux
+++ b/stdlib/source/test/lux/data/lazy.lux
@@ -3,20 +3,19 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]
-      ["$." equivalence]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]
+     ["$." equivalence]]]
    [data
     ["." product]]
    [math
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / (#+ Lazy)]})
+  [\\
+   ["." / (#+ Lazy)]])
 
 (def: injection
   (Injection Lazy)
diff --git a/stdlib/source/test/lux/data/maybe.lux b/stdlib/source/test/lux/data/maybe.lux
index 017d0799b..eea0e3f32 100644
--- a/stdlib/source/test/lux/data/maybe.lux
+++ b/stdlib/source/test/lux/data/maybe.lux
@@ -3,14 +3,13 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." monoid]
-      ["$." functor]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." monoid]
+     ["$." functor]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." io ("#\." monad)]
     pipe]
@@ -22,8 +21,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / ("#\." monoid monad)]})
+  [\\
+   ["." / ("#\." monoid monad)]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/data/name.lux b/stdlib/source/test/lux/data/name.lux
index e413afc95..8c2722466 100644
--- a/stdlib/source/test/lux/data/name.lux
+++ b/stdlib/source/test/lux/data/name.lux
@@ -3,12 +3,11 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." order]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." order]
+     ["$." codec]]]
    [control
     pipe]
    [data
@@ -17,8 +16,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (random module_size short_size)
   (-> Nat Nat (Random Name))
diff --git a/stdlib/source/test/lux/data/product.lux b/stdlib/source/test/lux/data/product.lux
index c20e7f5e9..3e8124dde 100644
--- a/stdlib/source/test/lux/data/product.lux
+++ b/stdlib/source/test/lux/data/product.lux
@@ -3,16 +3,15 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random]
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/data/sum.lux b/stdlib/source/test/lux/data/sum.lux
index 3b37382ae..6725a7a24 100644
--- a/stdlib/source/test/lux/data/sum.lux
+++ b/stdlib/source/test/lux/data/sum.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     pipe]
    [data
@@ -17,8 +16,8 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/data/text.lux b/stdlib/source/test/lux/data/text.lux
index 345dbdc26..1838206a8 100644
--- a/stdlib/source/test/lux/data/text.lux
+++ b/stdlib/source/test/lux/data/text.lux
@@ -3,12 +3,11 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." order]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." order]
+     ["$." monoid]]]
    [control
     pipe]
    [data
@@ -28,8 +27,8 @@
    ["#." escape]
    ["#." unicode #_
     ["#" set]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: bounded_size
   (random.Random Nat)
diff --git a/stdlib/source/test/lux/data/text/buffer.lux b/stdlib/source/test/lux/data/text/buffer.lux
index 852a3c951..551d7943f 100644
--- a/stdlib/source/test/lux/data/text/buffer.lux
+++ b/stdlib/source/test/lux/data/text/buffer.lux
@@ -10,8 +10,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: part
   (Random Text)
diff --git a/stdlib/source/test/lux/data/text/encoding.lux b/stdlib/source/test/lux/data/text/encoding.lux
index b4e47d7ee..981fb2d22 100644
--- a/stdlib/source/test/lux/data/text/encoding.lux
+++ b/stdlib/source/test/lux/data/text/encoding.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." codec]]}]
+    [\spec
+     ["$." codec]]]
    [control
     ["." try]]
    [data
@@ -20,8 +19,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["." / #_
    ["#." utf8]])
 
diff --git a/stdlib/source/test/lux/data/text/encoding/utf8.lux b/stdlib/source/test/lux/data/text/encoding/utf8.lux
index 3d376811d..7f83f745d 100644
--- a/stdlib/source/test/lux/data/text/encoding/utf8.lux
+++ b/stdlib/source/test/lux/data/text/encoding/utf8.lux
@@ -2,15 +2,14 @@
   [lux #*
    ["_" test (#+ Test)]
    [abstract
-    {[0 #spec]
-     [/
-      ["$." codec]]}]
+    [\spec
+     ["$." codec]]]
    [data
     ["." text]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/data/text/escape.lux b/stdlib/source/test/lux/data/text/escape.lux
index e7f31f9d7..7cef235cd 100644
--- a/stdlib/source/test/lux/data/text/escape.lux
+++ b/stdlib/source/test/lux/data/text/escape.lux
@@ -24,11 +24,11 @@
     ["." random (#+ Random)]
     [number (#+ hex)
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
     [//
      ["." unicode #_
-      ["#" set]]]]})
+      ["#" set]]]]])
 
 (def: (range max min)
   (-> Char Char (Random Char))
diff --git a/stdlib/source/test/lux/data/text/format.lux b/stdlib/source/test/lux/data/text/format.lux
index 1f0c2c9e6..db1615631 100644
--- a/stdlib/source/test/lux/data/text/format.lux
+++ b/stdlib/source/test/lux/data/text/format.lux
@@ -5,9 +5,8 @@
     [monad (#+ do)]
     [equivalence (#+ Equivalence)]
     [functor
-     {[0 #spec]
-      [/
-       ["$." contravariant]]}]]
+     [\spec
+      ["$." contravariant]]]]
    [control
     ["." try]]
    [data
@@ -47,8 +46,8 @@
     ["#." type]
     [macro
      ["#." code]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (implementation: (equivalence example)
   (All [a] (-> a (Equivalence (/.Format a))))
diff --git a/stdlib/source/test/lux/data/text/regex.lux b/stdlib/source/test/lux/data/text/regex.lux
index fd82fdee5..481dcd17f 100644
--- a/stdlib/source/test/lux/data/text/regex.lux
+++ b/stdlib/source/test/lux/data/text/regex.lux
@@ -17,8 +17,8 @@
     ["." random]]
    ["." macro
     [syntax (#+ syntax:)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: (should_pass regex input)
   (-> (Parser Text) Text Bit)
diff --git a/stdlib/source/test/lux/data/text/unicode/block.lux b/stdlib/source/test/lux/data/text/unicode/block.lux
index 7f77aa34f..8a41eeca2 100644
--- a/stdlib/source/test/lux/data/text/unicode/block.lux
+++ b/stdlib/source/test/lux/data/text/unicode/block.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." monoid]]]
    [data
     ["." text]
     [collection
@@ -19,8 +18,8 @@
     ["." random (#+ Random)]
     [number (#+ hex)
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export random
   (Random /.Block)
diff --git a/stdlib/source/test/lux/data/text/unicode/set.lux b/stdlib/source/test/lux/data/text/unicode/set.lux
index c63239cad..0fc394a63 100644
--- a/stdlib/source/test/lux/data/text/unicode/set.lux
+++ b/stdlib/source/test/lux/data/text/unicode/set.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [data
     ["." product]
     ["." bit ("#\." equivalence)]
@@ -18,10 +17,10 @@
   ["." / #_
    ["/#" // #_
     ["#." block]]]
-  {1
+  [\\
    ["." /
     [//
-     ["." block]]]})
+     ["." block]]]])
 
 (def: #export random
   (Random /.Set)
diff --git a/stdlib/source/test/lux/debug.lux b/stdlib/source/test/lux/debug.lux
index dbed9a05f..29e4493f8 100644
--- a/stdlib/source/test/lux/debug.lux
+++ b/stdlib/source/test/lux/debug.lux
@@ -28,8 +28,8 @@
     [duration (#+ Duration)]
     [month (#+ Month)]
     [day (#+ Day)]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["$." // #_
    ["#." type]
    [data
diff --git a/stdlib/source/test/lux/extension.lux b/stdlib/source/test/lux/extension.lux
index e20189fa3..c784788ba 100644
--- a/stdlib/source/test/lux/extension.lux
+++ b/stdlib/source/test/lux/extension.lux
@@ -40,8 +40,8 @@
         [analysis
          ["." type]]]]]]]
    ["_" test (#+ Test)]]
-  {1
-   ["." / (#+ analysis: synthesis: generation: directive:)]})
+  [\\
+   ["." / (#+ analysis: synthesis: generation: directive:)]])
 
 (def: my_analysis "my analysis")
 (def: my_synthesis "my synthesis")
diff --git a/stdlib/source/test/lux/ffi.js.lux b/stdlib/source/test/lux/ffi.js.lux
index 8af4be0fd..57a8332e2 100644
--- a/stdlib/source/test/lux/ffi.js.lux
+++ b/stdlib/source/test/lux/ffi.js.lux
@@ -12,8 +12,8 @@
     [number
      ["." nat]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (/.import: Uint8Array)
 
diff --git a/stdlib/source/test/lux/ffi.jvm.lux b/stdlib/source/test/lux/ffi.jvm.lux
index 0c618bfac..86e43a9f3 100644
--- a/stdlib/source/test/lux/ffi.jvm.lux
+++ b/stdlib/source/test/lux/ffi.jvm.lux
@@ -11,8 +11,8 @@
      ["n" nat]
      ["i" int]]]
    ["_" test (#+ Test)]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (/.import: (java/util/concurrent/Callable a))
 
diff --git a/stdlib/source/test/lux/ffi.lua.lux b/stdlib/source/test/lux/ffi.lua.lux
index 0b6cac81b..b05973bb8 100644
--- a/stdlib/source/test/lux/ffi.lua.lux
+++ b/stdlib/source/test/lux/ffi.lua.lux
@@ -12,8 +12,8 @@
     [number
      ["." nat]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/ffi.old.lux b/stdlib/source/test/lux/ffi.old.lux
index 37eb2c103..b7a4ba099 100644
--- a/stdlib/source/test/lux/ffi.old.lux
+++ b/stdlib/source/test/lux/ffi.old.lux
@@ -1,20 +1,25 @@
 (.module:
   [lux #*
-   [abstract/monad (#+ Monad do)]
+   ["_" test (#+ Test)]
+   [abstract
+    [equivalence (#+ Equivalence)]
+    [monad (#+ do)]]
    [control
-    pipe]
+    [pipe (#+ case>)]]
    [data
-    ["." text ("#\." equivalence)]]
+    ["." text ("#\." equivalence)
+     ["%" format (#+ format)]]]
+   [macro
+    ["." template]]
    [math
-    ["r" random]
+    ["." random]
     [number
      ["n" nat]
-     ["i" int]]]
-   ["_" test (#+ Test)]]
-  {1
-   ["." /]})
-
-(/.import: (java/util/concurrent/Callable a))
+     ["i" int]
+     ["f" frac]]]
+   ["." type ("#\." equivalence)]]
+  [\\
+   ["." /]])
 
 (/.import: java/lang/Object)
 (/.import: java/lang/String)
@@ -23,123 +28,207 @@
   ["#::."
    (new [java/lang/String])])
 
-(/.import: java/lang/Runnable)
-
 (/.import: (java/lang/Class a)
   ["#::."
    (getName [] java/lang/String)])
 
-(/.import: java/lang/System
-  ["#::."
-   (#static out java/io/PrintStream)
-   (#static currentTimeMillis [] #io long)
-   (#static getenv [java/lang/String] #io #? java/lang/String)])
-
-(/.class: #final (TestClass A) [java/lang/Runnable]
+(/.class: #final (TestClass A) []
   ## Fields
-  (#private foo boolean)
-  (#private bar A)
-  (#private baz java/lang/Object)
+  (#private increase java/lang/Long)
+  (#private counter java/lang/Long)
   ## Methods
-  (#public [] (new {value A}) []
-           (exec (:= ::foo #1)
-             (:= ::bar value)
-             (:= ::baz "")
+  (#public [] (new {increase java/lang/Long} {counter java/lang/Long}) []
+           (exec
+             (:= ::increase increase)
+             (:= ::counter counter)
              []))
-  (#public (virtual self) java/lang/Object
-           "")
-  (#public #static (static) java/lang/Object
-           "")
-  (java/lang/Runnable [] (run self) void
-                      []))
-
-(def: test_runnable
-  (/.object [] [java/lang/Runnable]
-    []
-    (java/lang/Runnable [] (run self) void
-                        [])))
-
-(def: test_callable
-  (/.object [a] [(java/util/concurrent/Callable a)]
-    []
-    (java/util/concurrent/Callable [] (call self) a
-                                   (undefined))))
+  (#public (currentC self) java/lang/Long
+           ::counter)
+  (#public (upC self) void
+           (:= ::counter (i.+ ::increase ::counter)))
+  (#public (downC self) void
+           (:= ::counter (i.- ::increase ::counter))))
+
+(/.import: (test/lux/ffi/TestClass a)
+  ["#::."
+   (new [java/lang/Long java/lang/Long])
+   (currentC [] java/lang/Long)
+   (upC [] void)
+   (downC [] void)])
 
 (/.interface: TestInterface
-  ([] foo [boolean java/lang/String] void #throws [java/lang/Exception]))
+  ([] current [] java/lang/Long #throws [java/lang/Exception])
+  ([] up [] test/lux/ffi/TestInterface #throws [java/lang/Exception])
+  ([] down [] test/lux/ffi/TestInterface #throws [java/lang/Exception]))
+
+(/.import: test/lux/ffi/TestInterface
+  ["#::."
+   (current [] java/lang/Long)
+   (up [] java/lang/Long)
+   (down [] java/lang/Long)])
+
+(def: (test_object increase counter)
+  (-> Int Int test/lux/ffi/TestInterface)
+  (/.object [] [test/lux/ffi/TestInterface]
+    []
+    (test/lux/ffi/TestInterface
+     [] (current self)
+     java/lang/Long
+     counter)
+    (test/lux/ffi/TestInterface
+     [] (up self)
+     test/lux/ffi/TestInterface
+     (test_object increase (i.+ increase counter)))
+    (test/lux/ffi/TestInterface
+     [] (down self)
+     test/lux/ffi/TestInterface
+     (test_object increase (i.- increase counter)))))
 
 (def: conversions
   Test
-  (do r.monad
-    [sample r.int]
+  (do {! random.monad}
+    [long random.int
+     int (\ ! map (|>> /.long_to_int) random.int)
+     char (\ ! map (|>> /.long_to_int /.int_to_char) random.int)
+     double random.frac
+     float (\ ! map (|>> /.double_to_float) random.frac)]
     (`` ($_ _.and
-            (~~ (template [<to> <from> <message>]
-                  [(_.test <message>
-                           (or (|> sample <to> <from> (i.= sample))
-                               (let [capped_sample (|> sample <to> <from>)]
-                                 (|> capped_sample <to> <from> (i.= capped_sample)))))]
-
-                  [/.long_to_byte /.byte_to_long "Can succesfully convert to/from byte."]
-                  [/.long_to_short /.short_to_long "Can succesfully convert to/from short."]
-                  [/.long_to_int /.int_to_long "Can succesfully convert to/from int."]
-                  [/.long_to_float /.float_to_long "Can succesfully convert to/from float."]
-                  [/.long_to_double /.double_to_long "Can succesfully convert to/from double."]
-                  [(<| /.int_to_char /.long_to_int) (<| /.int_to_long /.char_to_int) "Can succesfully convert to/from char."]
+            (~~ (template [<=> <sample> <to> <from>]
+                  [(_.cover [<to> <from>]
+                            (or (|> <sample> <to> <from> (<=> <sample>))
+                                (let [capped (|> <sample> <to> <from>)]
+                                  (|> capped <to> <from> (<=> capped)))))]
+
+                  [i.= long /.long_to_byte /.byte_to_long]
+                  [i.= long /.long_to_short /.short_to_long]
+                  [i.= long /.long_to_int /.int_to_long]
+                  [i.= long /.long_to_float /.float_to_long]
+                  [i.= long /.long_to_double /.double_to_long]
+
+                  [f.= double /.double_to_float /.float_to_double]
+                  [f.= double /.double_to_int /.int_to_double]
                   ))
+            (~~ (template [<to> <from>]
+                  [(_.cover [<to>]
+                            (or (|> int <to> <from> (i.= (/.int_to_long int)))
+                                (let [capped (|> int <to> <from>)]
+                                  (|> capped /.long_to_int <to> <from> (i.= capped)))))]
+
+                  [/.int_to_byte /.byte_to_long]
+                  [/.int_to_short /.short_to_long]
+                  [/.int_to_char /.char_to_long]
+                  ))
+            (~~ (template [<sample> <to> <from>]
+                  [(_.cover [<to> <from>]
+                            (or (|> <sample> <to> <from> /.float_to_double (f.= (/.float_to_double <sample>)))
+                                (let [capped (|> <sample> <to> <from>)]
+                                  (|> capped <to> <from> /.float_to_double (f.= (/.float_to_double capped))))))]
+
+                  [float /.float_to_int /.int_to_float]
+                  ))
+            (~~ (template [<to> <from>]
+                  [(_.cover [<to>]
+                            (or (|> char <to> <from> (i.= (|> char /.char_to_int /.int_to_long)))
+                                (let [capped (|> char <to> <from>)]
+                                  (|> capped /.long_to_int /.int_to_char <to> <from> (i.= capped)))))]
+
+                  [/.char_to_byte /.byte_to_long]
+                  [/.char_to_short /.short_to_long]
+                  ))
+            (_.cover [/.char_to_long]
+                     (with_expansions [<to> /.int_to_char
+                                       <from> /.char_to_long]
+                       (`` (or (|> int <to> <from> (i.= (/.int_to_long int)))
+                               (let [capped (|> int <to> <from>)]
+                                 (|> capped /.long_to_int <to> <from> (i.= capped)))))))
+            (_.cover [/.char_to_int]
+                     (with_expansions [<to> /.int_to_char
+                                       <from> /.char_to_int]
+                       (`` (or (|> int <to> <from> /.int_to_long (i.= (/.int_to_long int)))
+                               (let [capped (|> int <to> <from>)]
+                                 (|> capped <to> <from> /.int_to_long (i.= (/.int_to_long capped))))))))
             ))))
 
-(def: miscellaneous
+(def: arrays
   Test
-  (do r.monad
-    [sample (r.ascii 1)]
+  (do {! random.monad}
+    [size (|> random.nat (\ ! map (|>> (n.% 100) (n.max 1))))
+     idx (|> random.nat (\ ! map (n.% size)))
+     value random.int]
     ($_ _.and
-        (_.test "Can check if an object is of a certain class."
-                (and (case (/.check java/lang/String sample) (#.Some _) true #.None false)
-                     (case (/.check java/lang/Long sample) (#.Some _) false #.None true)
-                     (case (/.check java/lang/Object sample) (#.Some _) true #.None false)
-                     (case (/.check java/lang/Object (/.null)) (#.Some _) false #.None true)))
-
-        (_.test "Can run code in a 'synchronized' block."
-                (/.synchronized sample #1))
-
-        (_.test "Can access Class instances."
-                (text\= "java.lang.Class" (java/lang/Class::getName (/.class_for java/lang/Class))))
-
-        (_.test "Can check if a value is null."
-                (and (/.null? (/.null))
-                     (not (/.null? sample))))
-
-        (_.test "Can safely convert nullable references into Maybe values."
-                (and (|> (: (Maybe java/lang/Object) (/.??? (/.null)))
-                         (case> #.None #1
-                                _ #0))
-                     (|> (: (Maybe java/lang/Object) (/.??? sample))
-                         (case> (#.Some _) #1
-                                _ #0))))
+        (_.cover [/.array /.array_length]
+                 (n.= size (/.array_length (/.array java/lang/Long size))))
+        (_.cover [/.array_write /.array_read]
+                 (|> (/.array java/lang/Long size)
+                     (/.array_write idx value)
+                     (/.array_read idx)
+                     (i.= value)))
         )))
 
-(def: arrays
+(def: null
   Test
-  (do {! r.monad}
-    [size (|> r.nat (\ ! map (|>> (n.% 100) (n.max 1))))
-     idx (|> r.nat (\ ! map (n.% size)))
-     value r.int]
+  (do random.monad
+    [sample (random.ascii 1)]
     ($_ _.and
-        (_.test "Can create arrays of some length."
-                (n.= size (/.array_length (/.array java/lang/Long size))))
+        (_.cover [/.null /.null?]
+                 (and (/.null? (/.null))
+                      (not (/.null? sample))))
+        (_.cover [/.???]
+                 (and (|> (: (Maybe java/lang/Object) (/.??? (/.null)))
+                          (case> #.None #1
+                                 _ #0))
+                      (|> (: (Maybe java/lang/Object) (/.??? sample))
+                          (case> (#.Some _) #1
+                                 _ #0))))
+        (_.cover [/.!!!]
+                 (and (/.null? (/.!!! (/.??? (/.null))))
+                      (not (/.null? (/.!!! (/.??? sample))))))
+        )))
 
-        (_.test "Can set and get array values."
-                (let [arr (/.array java/lang/Long size)]
-                  (exec (/.array_write idx value arr)
-                    (i.= value (/.array_read idx arr)))))
+(def: miscellaneous
+  Test
+  (do random.monad
+    [sample (random.ascii 1)
+     counter random.int
+     increase random.int]
+    ($_ _.and
+        (_.cover [/.check]
+                 (and (case (/.check java/lang/String sample) (#.Some _) true #.None false)
+                      (case (/.check java/lang/Long sample) (#.Some _) false #.None true)
+                      (case (/.check java/lang/Object sample) (#.Some _) true #.None false)
+                      (case (/.check java/lang/Object (/.null)) (#.Some _) false #.None true)))
+        (_.cover [/.synchronized]
+                 (/.synchronized sample #1))
+        (_.cover [/.class_for /.import:]
+                 (|> (/.class_for java/lang/Class)
+                     java/lang/Class::getName
+                     (text\= "java.lang.Class")))
+        (_.cover [/.class: /.do_to]
+                 (|> (/.do_to (test/lux/ffi/TestClass::new increase counter)
+                       (test/lux/ffi/TestClass::upC)
+                       (test/lux/ffi/TestClass::upC)
+                       (test/lux/ffi/TestClass::downC))
+                     test/lux/ffi/TestClass::currentC
+                     (i.= (i.+ increase counter))))
+        (_.cover [/.interface: /.object]
+                 (|> (..test_object increase counter)
+                     test/lux/ffi/TestInterface::up
+                     test/lux/ffi/TestInterface::up
+                     test/lux/ffi/TestInterface::down
+                     test/lux/ffi/TestInterface::current
+                     (i.= (i.+ increase counter))))
+        (_.cover [/.type]
+                 (and (type\= (primitive "java.lang.Char")
+                              (/.type java/lang/Char))
+                      (type\= (primitive "java.util.List" [(primitive "java.lang.Byte")])
+                              (/.type (java/util/List java/lang/Byte)))))
         )))
 
 (def: #export test
-  ($_ _.and
-      (<| (_.context "Conversions.")
-          ..conversions)
-      (<| (_.context "Miscellaneous.")
-          ..miscellaneous)
-      (<| (_.context "Arrays.")
-          ..arrays)
-      ))
+  (<| (_.covering /._)
+      ($_ _.and
+          ..conversions
+          ..arrays
+          ..null
+          ..miscellaneous
+          )))
diff --git a/stdlib/source/test/lux/ffi.php.lux b/stdlib/source/test/lux/ffi.php.lux
index 0b6cac81b..b05973bb8 100644
--- a/stdlib/source/test/lux/ffi.php.lux
+++ b/stdlib/source/test/lux/ffi.php.lux
@@ -12,8 +12,8 @@
     [number
      ["." nat]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/ffi.py.lux b/stdlib/source/test/lux/ffi.py.lux
index 0b6cac81b..b05973bb8 100644
--- a/stdlib/source/test/lux/ffi.py.lux
+++ b/stdlib/source/test/lux/ffi.py.lux
@@ -12,8 +12,8 @@
     [number
      ["." nat]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/ffi.rb.lux b/stdlib/source/test/lux/ffi.rb.lux
index 0b6cac81b..b05973bb8 100644
--- a/stdlib/source/test/lux/ffi.rb.lux
+++ b/stdlib/source/test/lux/ffi.rb.lux
@@ -12,8 +12,8 @@
     [number
      ["." nat]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/ffi.scm.lux b/stdlib/source/test/lux/ffi.scm.lux
index 0b6cac81b..b05973bb8 100644
--- a/stdlib/source/test/lux/ffi.scm.lux
+++ b/stdlib/source/test/lux/ffi.scm.lux
@@ -12,8 +12,8 @@
     [number
      ["." nat]
      ["." frac]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/locale.lux b/stdlib/source/test/lux/locale.lux
index 23cb63a97..a7949a62b 100644
--- a/stdlib/source/test/lux/locale.lux
+++ b/stdlib/source/test/lux/locale.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]]]
    [math
     ["." random (#+ Random) ("#\." monad)]]
    [data
@@ -17,10 +16,10 @@
   ["." / #_
    ["#." language]
    ["#." territory]]
-  {1
+  [\\
    ["." /
     ["." language (#+ Language)]
-    ["." territory (#+ Territory)]]})
+    ["." territory (#+ Territory)]]])
 
 (def: random_language
   (Random Language)
diff --git a/stdlib/source/test/lux/locale/language.lux b/stdlib/source/test/lux/locale/language.lux
index 9e49fbb1e..bce125224 100644
--- a/stdlib/source/test/lux/locale/language.lux
+++ b/stdlib/source/test/lux/locale/language.lux
@@ -4,9 +4,8 @@
    [abstract
     [monad (#+ do)]
     [hash (#+ Hash)]
-    {[0 #spec]
-     [/
-      ["$." hash]]}]
+    [\spec
+     ["$." hash]]]
    [data
     ["." maybe]
     ["." text]
@@ -19,8 +18,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (type: Bundle
   {#count Nat
diff --git a/stdlib/source/test/lux/locale/territory.lux b/stdlib/source/test/lux/locale/territory.lux
index 909b5b68f..61692050b 100644
--- a/stdlib/source/test/lux/locale/territory.lux
+++ b/stdlib/source/test/lux/locale/territory.lux
@@ -4,9 +4,8 @@
    [abstract
     [monad (#+ do)]
     [hash (#+ Hash)]
-    {[0 #spec]
-     [/
-      ["$." hash]]}]
+    [\spec
+     ["$." hash]]]
    [data
     ["." maybe]
     ["." text]
@@ -19,8 +18,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (type: Bundle
   {#count Nat
diff --git a/stdlib/source/test/lux/macro.lux b/stdlib/source/test/lux/macro.lux
index 5892f842e..7864fb686 100644
--- a/stdlib/source/test/lux/macro.lux
+++ b/stdlib/source/test/lux/macro.lux
@@ -20,11 +20,11 @@
      ["." nat]]]
    ["." meta
     ["." location]]]
-  {1
+  [\\
    ["." /
     [syntax (#+ syntax:)]
     ["." code ("#\." equivalence)]
-    ["." template]]}
+    ["." template]]]
   ["." / #_
    ["#." code]
    ["#." local]
diff --git a/stdlib/source/test/lux/macro/code.lux b/stdlib/source/test/lux/macro/code.lux
index 730671b5b..93ed2c19b 100644
--- a/stdlib/source/test/lux/macro/code.lux
+++ b/stdlib/source/test/lux/macro/code.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try (#+ Try)]]
    [data
@@ -24,8 +23,8 @@
      [language
       [lux
        ["." syntax]]]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: random_text
   (Random Text)
diff --git a/stdlib/source/test/lux/macro/local.lux b/stdlib/source/test/lux/macro/local.lux
index b499beb68..d125a2af4 100644
--- a/stdlib/source/test/lux/macro/local.lux
+++ b/stdlib/source/test/lux/macro/local.lux
@@ -23,8 +23,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (syntax: (macro_error macro)
   (function (_ compiler)
diff --git a/stdlib/source/test/lux/macro/poly.lux b/stdlib/source/test/lux/macro/poly.lux
index 9a42c450a..d15e96d3d 100644
--- a/stdlib/source/test/lux/macro/poly.lux
+++ b/stdlib/source/test/lux/macro/poly.lux
@@ -1,8 +1,8 @@
 (.module:
   [lux #*
    ["_" test (#+ Test)]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["." / #_
    ["#." equivalence]
    ["#." functor]
diff --git a/stdlib/source/test/lux/macro/poly/equivalence.lux b/stdlib/source/test/lux/macro/poly/equivalence.lux
index 593dba8e1..a43da2d84 100644
--- a/stdlib/source/test/lux/macro/poly/equivalence.lux
+++ b/stdlib/source/test/lux/macro/poly/equivalence.lux
@@ -5,11 +5,10 @@
    [abstract
     [monad (#+ do)]
     [equivalence (#+ Equivalence)
-     {[0 #poly]
-      ["." /]}]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+     [\poly
+      ["." /]]]
+    [\spec
+     ["$." equivalence]]]
    [data
     ["." bit]
     ["." maybe]
diff --git a/stdlib/source/test/lux/macro/poly/functor.lux b/stdlib/source/test/lux/macro/poly/functor.lux
index 9463d7f11..8d94cf852 100644
--- a/stdlib/source/test/lux/macro/poly/functor.lux
+++ b/stdlib/source/test/lux/macro/poly/functor.lux
@@ -4,8 +4,8 @@
    [abstract
     [monad (#+ do)]
     [functor
-     {[0 #poly]
-      ["." /]}]]
+     [\poly
+      ["." /]]]]
    ["r" math/random (#+ Random)]
    ["_" test (#+ Test)]
    [control
diff --git a/stdlib/source/test/lux/macro/poly/json.lux b/stdlib/source/test/lux/macro/poly/json.lux
index 0931481da..91ad9b010 100644
--- a/stdlib/source/test/lux/macro/poly/json.lux
+++ b/stdlib/source/test/lux/macro/poly/json.lux
@@ -6,12 +6,10 @@
     codec
     [monad (#+ do)]
     ["." equivalence (#+ Equivalence)
-     {[0 #poly]
-      ["poly/#" /]}]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." codec]]}]
+     ["poly/#" \poly]]
+    [\spec
+     ["$." equivalence]
+     ["$." codec]]]
    [control
     pipe
     ["." try]
@@ -25,8 +23,8 @@
      ["%" format (#+ format)]]
     [format
      [json (#+)
-      {[0 #poly]
-       ["." /]}]]
+      [\poly
+       ["." /]]]]
     [collection
      [row (#+ row)]
      ["d" dictionary]
diff --git a/stdlib/source/test/lux/macro/syntax.lux b/stdlib/source/test/lux/macro/syntax.lux
index f2fbe2010..057565f3d 100644
--- a/stdlib/source/test/lux/macro/syntax.lux
+++ b/stdlib/source/test/lux/macro/syntax.lux
@@ -7,8 +7,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["." / #_
    ["#." annotations]
    ["#." check]
diff --git a/stdlib/source/test/lux/macro/syntax/annotations.lux b/stdlib/source/test/lux/macro/syntax/annotations.lux
index dac3c1e16..fdee0ffa5 100644
--- a/stdlib/source/test/lux/macro/syntax/annotations.lux
+++ b/stdlib/source/test/lux/macro/syntax/annotations.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try]
     [parser
@@ -17,8 +16,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["$." /// #_
    ["#." code]])
 
diff --git a/stdlib/source/test/lux/macro/syntax/check.lux b/stdlib/source/test/lux/macro/syntax/check.lux
index d5036d9b2..59f5c1a0b 100644
--- a/stdlib/source/test/lux/macro/syntax/check.lux
+++ b/stdlib/source/test/lux/macro/syntax/check.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try]
     ["<>" parser
@@ -14,8 +13,8 @@
     ["." random (#+ Random)]]
    [macro
     ["." code ("#\." equivalence)]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["$." /// #_
    ["#." code]])
 
diff --git a/stdlib/source/test/lux/macro/syntax/declaration.lux b/stdlib/source/test/lux/macro/syntax/declaration.lux
index 2cb737caf..555c3138e 100644
--- a/stdlib/source/test/lux/macro/syntax/declaration.lux
+++ b/stdlib/source/test/lux/macro/syntax/declaration.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try]
     [parser
@@ -14,8 +13,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export random
   (Random /.Declaration)
diff --git a/stdlib/source/test/lux/macro/syntax/definition.lux b/stdlib/source/test/lux/macro/syntax/definition.lux
index be6f05449..48719ac17 100644
--- a/stdlib/source/test/lux/macro/syntax/definition.lux
+++ b/stdlib/source/test/lux/macro/syntax/definition.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try]
     ["." exception]
@@ -17,8 +16,8 @@
     ["." code ("#\." equivalence)]]
    [meta
     ["." location]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["$."// #_
    ["#." check]
    ["#." annotations]
diff --git a/stdlib/source/test/lux/macro/syntax/export.lux b/stdlib/source/test/lux/macro/syntax/export.lux
index 34c19a11f..10e86fd20 100644
--- a/stdlib/source/test/lux/macro/syntax/export.lux
+++ b/stdlib/source/test/lux/macro/syntax/export.lux
@@ -11,8 +11,8 @@
     ["." bit ("#\." equivalence)]]
    [math
     ["." random]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/macro/syntax/input.lux b/stdlib/source/test/lux/macro/syntax/input.lux
index b0b642645..bf22a9c17 100644
--- a/stdlib/source/test/lux/macro/syntax/input.lux
+++ b/stdlib/source/test/lux/macro/syntax/input.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try]
     [parser
@@ -14,8 +13,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["$." /// #_
    ["#." code]])
 
diff --git a/stdlib/source/test/lux/macro/syntax/type/variable.lux b/stdlib/source/test/lux/macro/syntax/type/variable.lux
index 4701f5aef..d2ac5d86e 100644
--- a/stdlib/source/test/lux/macro/syntax/type/variable.lux
+++ b/stdlib/source/test/lux/macro/syntax/type/variable.lux
@@ -3,17 +3,16 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     ["." try ("#\." functor)]
     [parser
      ["<.>" code]]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export random
   (Random /.Variable)
diff --git a/stdlib/source/test/lux/macro/template.lux b/stdlib/source/test/lux/macro/template.lux
index 8f68ff501..12e503e33 100644
--- a/stdlib/source/test/lux/macro/template.lux
+++ b/stdlib/source/test/lux/macro/template.lux
@@ -16,8 +16,8 @@
     ["." random (#+ Random)]
     [number
      ["." nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (/.let [(!pow/2 <scalar>)
         [(nat.* <scalar> <scalar>)]]
diff --git a/stdlib/source/test/lux/math.lux b/stdlib/source/test/lux/math.lux
index 919a9c694..fc9de2f8f 100644
--- a/stdlib/source/test/lux/math.lux
+++ b/stdlib/source/test/lux/math.lux
@@ -11,8 +11,8 @@
      ["n" nat]
      ["i" int]
      ["f" frac]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["." / #_
    ["#." infix]
    ["#." modulus]
diff --git a/stdlib/source/test/lux/math/infix.lux b/stdlib/source/test/lux/math/infix.lux
index 785285f2d..29a3cfcab 100644
--- a/stdlib/source/test/lux/math/infix.lux
+++ b/stdlib/source/test/lux/math/infix.lux
@@ -10,9 +10,9 @@
     [number
      ["n" nat]
      ["f" frac]]]]
-  {1
+  [\\
    ["." /
-    ["." //]]})
+    ["." //]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/math/logic/continuous.lux b/stdlib/source/test/lux/math/logic/continuous.lux
index e54eccc2e..ceb4ca33b 100644
--- a/stdlib/source/test/lux/math/logic/continuous.lux
+++ b/stdlib/source/test/lux/math/logic/continuous.lux
@@ -3,15 +3,14 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." monoid]]}]
+    [\spec
+     ["$." monoid]]]
    [math
     ["." random]
     [number
      ["r" rev]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/math/logic/fuzzy.lux b/stdlib/source/test/lux/math/logic/fuzzy.lux
index bb2d7184c..3da2e4cc9 100644
--- a/stdlib/source/test/lux/math/logic/fuzzy.lux
+++ b/stdlib/source/test/lux/math/logic/fuzzy.lux
@@ -4,10 +4,9 @@
    [abstract
     [equivalence (#+ Equivalence)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      [functor
-       ["$." contravariant]]]}]
+    [\spec
+     [functor
+      ["$." contravariant]]]]
    [data
     ["." bit ("#\." equivalence)]
     [collection
@@ -18,10 +17,10 @@
     [number
      ["n" nat]
      ["r" rev]]]]
-  {1
+  [\\
    ["." / (#+ Fuzzy)
     ["/#" // #_
-     ["#" continuous]]]})
+     ["#" continuous]]]])
 
 (def: trivial
   Test
diff --git a/stdlib/source/test/lux/math/modular.lux b/stdlib/source/test/lux/math/modular.lux
index 461d5bfac..21d451472 100644
--- a/stdlib/source/test/lux/math/modular.lux
+++ b/stdlib/source/test/lux/math/modular.lux
@@ -5,12 +5,11 @@
    [abstract
     [monad (#+ do)]
     ["." predicate]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." monoid]
+     ["$." codec]]]
    [control
     ["." try]
     ["." exception]]
@@ -23,10 +22,10 @@
      ["i" int]]]]
   ["$." // #_
    ["#" modulus]]
-  {1
+  [\\
    ["." /
     ["/#" // #_
-     ["#" modulus]]]})
+     ["#" modulus]]]])
 
 (def: #export (random modulus)
   (All [%] (-> (//.Modulus %) (Random (/.Mod %))))
diff --git a/stdlib/source/test/lux/math/modulus.lux b/stdlib/source/test/lux/math/modulus.lux
index c5147e75c..af3a3dc5b 100644
--- a/stdlib/source/test/lux/math/modulus.lux
+++ b/stdlib/source/test/lux/math/modulus.lux
@@ -14,8 +14,8 @@
    [macro
     [syntax (#+ syntax:)]
     ["." code]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (syntax: (|divisor|)
   (do meta.monad
diff --git a/stdlib/source/test/lux/math/number.lux b/stdlib/source/test/lux/math/number.lux
index 5a897db71..99cf72928 100644
--- a/stdlib/source/test/lux/math/number.lux
+++ b/stdlib/source/test/lux/math/number.lux
@@ -5,12 +5,12 @@
     ["." try]]
    [data
     ["." text]]]
-  {1
+  [\\
    ["." /
     ["n" nat]
     ["i" int]
     ["r" rev]
-    ["f" frac]]}
+    ["f" frac]]]
   ["." / #_
    ["#." i8]
    ["#." i16]
diff --git a/stdlib/source/test/lux/math/number/complex.lux b/stdlib/source/test/lux/math/number/complex.lux
index 11f729aac..d32abc2c5 100644
--- a/stdlib/source/test/lux/math/number/complex.lux
+++ b/stdlib/source/test/lux/math/number/complex.lux
@@ -4,22 +4,21 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." codec]]]
    [data
     [collection
      ["." list ("#\." functor)]]]
    ["." math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     [//
      ["n" nat]
      ["f" frac]
-     ["." int]]]})
+     ["." int]]]])
 
 ## This margin of error is necessary because floating-point arithmetic is not exact.
 (def: margin_of_error
diff --git a/stdlib/source/test/lux/math/number/frac.lux b/stdlib/source/test/lux/math/number/frac.lux
index ddeab3763..eb981a5b0 100644
--- a/stdlib/source/test/lux/math/number/frac.lux
+++ b/stdlib/source/test/lux/math/number/frac.lux
@@ -5,24 +5,23 @@
    ["." ffi]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." order]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." order]
+     ["$." monoid]
+     ["$." codec]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     [// #*
      ["n" nat]
      ["i" int]
      ["r" rev]
-     ["." i64]]]})
+     ["." i64]]]])
 
 (def: random
   (Random Frac)
diff --git a/stdlib/source/test/lux/math/number/i16.lux b/stdlib/source/test/lux/math/number/i16.lux
index 6cf457989..4450cf88e 100644
--- a/stdlib/source/test/lux/math/number/i16.lux
+++ b/stdlib/source/test/lux/math/number/i16.lux
@@ -3,16 +3,15 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     ["/#" // #_
      ["i" int]
-     ["#." i64]]]})
+     ["#." i64]]]])
 
 (def: #export random
   (Random /.I16)
diff --git a/stdlib/source/test/lux/math/number/i32.lux b/stdlib/source/test/lux/math/number/i32.lux
index 1061cdc1b..8b2d0e5f2 100644
--- a/stdlib/source/test/lux/math/number/i32.lux
+++ b/stdlib/source/test/lux/math/number/i32.lux
@@ -3,16 +3,15 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     ["/#" // #_
      ["i" int]
-     ["#." i64]]]})
+     ["#." i64]]]])
 
 (def: #export random
   (Random /.I32)
diff --git a/stdlib/source/test/lux/math/number/i64.lux b/stdlib/source/test/lux/math/number/i64.lux
index 9384e08c4..129d2bb84 100644
--- a/stdlib/source/test/lux/math/number/i64.lux
+++ b/stdlib/source/test/lux/math/number/i64.lux
@@ -5,18 +5,17 @@
     ["." bit ("#\." equivalence)]]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." monoid]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." monoid]]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." / ("\." equivalence)
     [// (#+ hex)
      ["n" nat]
-     ["i" int]]]})
+     ["i" int]]]])
 
 (def: bit
   Test
diff --git a/stdlib/source/test/lux/math/number/i8.lux b/stdlib/source/test/lux/math/number/i8.lux
index b0903a903..1f5c7de42 100644
--- a/stdlib/source/test/lux/math/number/i8.lux
+++ b/stdlib/source/test/lux/math/number/i8.lux
@@ -3,16 +3,15 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     ["/#" // #_
      ["i" int]
-     ["#." i64]]]})
+     ["#." i64]]]])
 
 (def: #export random
   (Random /.I8)
diff --git a/stdlib/source/test/lux/math/number/int.lux b/stdlib/source/test/lux/math/number/int.lux
index c75ffb6bd..f339b3ac4 100644
--- a/stdlib/source/test/lux/math/number/int.lux
+++ b/stdlib/source/test/lux/math/number/int.lux
@@ -3,25 +3,24 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." order]
-      ["$." enum]
-      ["$." interval]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." order]
+     ["$." enum]
+     ["$." interval]
+     ["$." monoid]
+     ["$." codec]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     [//
      ["n" nat]
      ["f" frac]
-     ["." i64]]]})
+     ["." i64]]]])
 
 (def: signature
   Test
diff --git a/stdlib/source/test/lux/math/number/nat.lux b/stdlib/source/test/lux/math/number/nat.lux
index 3de2970cc..26a872067 100644
--- a/stdlib/source/test/lux/math/number/nat.lux
+++ b/stdlib/source/test/lux/math/number/nat.lux
@@ -3,23 +3,22 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." order]
-      ["$." enum]
-      ["$." interval]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." order]
+     ["$." enum]
+     ["$." interval]
+     ["$." monoid]
+     ["$." codec]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
     ["." random]]]
-  {1
+  [\\
    ["." /
     [//
-     ["f" frac]]]})
+     ["f" frac]]]])
 
 (def: signature
   Test
diff --git a/stdlib/source/test/lux/math/number/ratio.lux b/stdlib/source/test/lux/math/number/ratio.lux
index f031810d9..8e8aeb0d0 100644
--- a/stdlib/source/test/lux/math/number/ratio.lux
+++ b/stdlib/source/test/lux/math/number/ratio.lux
@@ -3,21 +3,20 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." monoid]
+     ["$." codec]]]
    [data
     ["." bit ("#\." equivalence)]
     ["." maybe ("#\." functor)]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     [//
-     ["n" nat ("#\." equivalence)]]]})
+     ["n" nat ("#\." equivalence)]]]])
 
 (def: part
   (Random Nat)
diff --git a/stdlib/source/test/lux/math/number/rev.lux b/stdlib/source/test/lux/math/number/rev.lux
index 5b30741df..e4d6b81f7 100644
--- a/stdlib/source/test/lux/math/number/rev.lux
+++ b/stdlib/source/test/lux/math/number/rev.lux
@@ -3,25 +3,24 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." order]
-      ["$." enum]
-      ["$." interval]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." order]
+     ["$." enum]
+     ["$." interval]
+     ["$." monoid]
+     ["$." codec]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
     ["." random]]]
-  {1
+  [\\
    ["." /
     [// (#+ hex)
      ["n" nat]
      ["f" frac]
-     ["." i64 ("#\." hash)]]]})
+     ["." i64 ("#\." hash)]]]])
 
 (def: signature
   Test
diff --git a/stdlib/source/test/lux/meta.lux b/stdlib/source/test/lux/meta.lux
index e02b1197a..b8aa1ff8b 100644
--- a/stdlib/source/test/lux/meta.lux
+++ b/stdlib/source/test/lux/meta.lux
@@ -5,11 +5,10 @@
    [abstract
     [equivalence (#+ Equivalence)]
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     ["." try (#+ Try) ("#\." functor)]]
    [data
@@ -28,8 +27,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["." / #_
    ["#." annotation]
    ["#." location]])
diff --git a/stdlib/source/test/lux/meta/annotation.lux b/stdlib/source/test/lux/meta/annotation.lux
index 01f410b92..791e5759a 100644
--- a/stdlib/source/test/lux/meta/annotation.lux
+++ b/stdlib/source/test/lux/meta/annotation.lux
@@ -21,8 +21,8 @@
      ["." int]
      ["." rev]
      ["." frac]]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   [///
    [macro
     ["_." code]]])
diff --git a/stdlib/source/test/lux/meta/location.lux b/stdlib/source/test/lux/meta/location.lux
index 5c9d43d50..6e005bd5f 100644
--- a/stdlib/source/test/lux/meta/location.lux
+++ b/stdlib/source/test/lux/meta/location.lux
@@ -3,15 +3,14 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [data
     ["." text]]
    [math
     ["." random (#+ Random)]]]
-  {1
-   ["." /]}
+  [\\
+   ["." /]]
   ["$." /// #_
    [macro
     ["#." code]]])
diff --git a/stdlib/source/test/lux/program.lux b/stdlib/source/test/lux/program.lux
index e7d4a4767..2da869ab5 100644
--- a/stdlib/source/test/lux/program.lux
+++ b/stdlib/source/test/lux/program.lux
@@ -17,8 +17,8 @@
     [syntax (#+ syntax:)]]
    [math
     ["." random]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (syntax: (actual_program {actual_program (<| <code>.form
                                              (<>.after (<code>.text! "lux def program"))
diff --git a/stdlib/source/test/lux/target.lux b/stdlib/source/test/lux/target.lux
index 6f6050e1c..3158b76ee 100644
--- a/stdlib/source/test/lux/target.lux
+++ b/stdlib/source/test/lux/target.lux
@@ -9,8 +9,8 @@
    [math
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (with_expansions [<targets> (as_is /.old
                                    /.js
diff --git a/stdlib/source/test/lux/target/jvm.lux b/stdlib/source/test/lux/target/jvm.lux
index 173e9624f..218f3df42 100644
--- a/stdlib/source/test/lux/target/jvm.lux
+++ b/stdlib/source/test/lux/target/jvm.lux
@@ -32,7 +32,7 @@
      ["." i32 (#+ I32)]
      ["." i64]]]
    ["_" test (#+ Test)]]
-  {1
+  [\\
    ["." / #_
     ["#." loader (#+ Library)]
     ["#." version]
@@ -51,7 +51,7 @@
     ["#" bytecode (#+ Label Bytecode)
      ["#." instruction]]
     ["#." type (#+ Type)
-     ["." category (#+ Value Object Class)]]]})
+     ["." category (#+ Value Object Class)]]]])
 
 (def: method_modifier
   ($_ /modifier\compose
diff --git a/stdlib/source/test/lux/test.lux b/stdlib/source/test/lux/test.lux
index d321f88f5..ede26191c 100644
--- a/stdlib/source/test/lux/test.lux
+++ b/stdlib/source/test/lux/test.lux
@@ -16,8 +16,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: (verify expected_message/0 expected_message/1 successes failures [tally message])
   (-> Text Text Nat Nat [/.Tally Text] Bit)
diff --git a/stdlib/source/test/lux/time.lux b/stdlib/source/test/lux/time.lux
index b22823626..6b321d1ce 100644
--- a/stdlib/source/test/lux/time.lux
+++ b/stdlib/source/test/lux/time.lux
@@ -3,12 +3,11 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." enum]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." enum]
+     ["$." codec]]]
    [control
     [pipe (#+ case>)]
     ["." try ("#\." functor)]
@@ -29,9 +28,9 @@
    ["#." instant]
    ["#." month]
    ["#." year]]
-  {1
+  [\\
    ["." /
-    ["." duration]]})
+    ["." duration]]])
 
 (def: for_implementation
   Test
diff --git a/stdlib/source/test/lux/time/date.lux b/stdlib/source/test/lux/time/date.lux
index 1c569e476..b8813ba77 100644
--- a/stdlib/source/test/lux/time/date.lux
+++ b/stdlib/source/test/lux/time/date.lux
@@ -3,12 +3,11 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." enum]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." enum]
+     ["$." codec]]]
    [control
     ["." try ("#\." functor)]
     ["." exception]
@@ -21,8 +20,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/time/day.lux b/stdlib/source/test/lux/time/day.lux
index 89a1aa3d4..3245c69b6 100644
--- a/stdlib/source/test/lux/time/day.lux
+++ b/stdlib/source/test/lux/time/day.lux
@@ -2,15 +2,19 @@
   [lux #*
    ["_" test (#+ Test)]
    [abstract
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." enum]]}]
+    [monad (#+ do)]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." enum]
+     ["$." codec]]]
+   [control
+    ["." try]
+    ["." exception]]
    [math
     ["." random (#+ Random) ("#\." monad)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export random
   (Random /.Day)
@@ -33,4 +37,16 @@
                  ($order.spec /.order ..random))
           (_.for [/.enum]
                  ($enum.spec /.enum ..random))
+          (_.for [/.codec]
+                 ($codec.spec /.equivalence /.codec ..random))
+
+          (do random.monad
+            [not_a_day (random.ascii/upper 1)]
+            (_.cover [/.not_a_day_of_the_week]
+                     (case (\ /.codec decode not_a_day)
+                       (#try.Failure error)
+                       (exception.match? /.not_a_day_of_the_week error)
+                       
+                       (#try.Success _)
+                       false)))
           )))
diff --git a/stdlib/source/test/lux/time/duration.lux b/stdlib/source/test/lux/time/duration.lux
index 24d5449f3..7ca984beb 100644
--- a/stdlib/source/test/lux/time/duration.lux
+++ b/stdlib/source/test/lux/time/duration.lux
@@ -3,13 +3,12 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." enum]
-      ["$." monoid]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." enum]
+     ["$." monoid]
+     ["$." codec]]]
    [data
     ["." bit ("#\." equivalence)]]
    [math
@@ -17,8 +16,8 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/time/instant.lux b/stdlib/source/test/lux/time/instant.lux
index 551144a6b..80a43472b 100644
--- a/stdlib/source/test/lux/time/instant.lux
+++ b/stdlib/source/test/lux/time/instant.lux
@@ -3,12 +3,11 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." enum]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." enum]
+     ["$." codec]]]
    [control
     ["." function]
     ["." try]
@@ -21,8 +20,8 @@
    [time
     ["." duration (#+ Duration)]
     ["." day (#+ Day) ("#\." enum)]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/time/month.lux b/stdlib/source/test/lux/time/month.lux
index 2cecfced6..dac255f2c 100644
--- a/stdlib/source/test/lux/time/month.lux
+++ b/stdlib/source/test/lux/time/month.lux
@@ -4,12 +4,12 @@
    [abstract
     [monad (#+ do)]
     ["." predicate]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]
-      ["$." order]
-      ["$." enum]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]
+     ["$." order]
+     ["$." enum]
+     ["$." codec]]]
    [control
     ["." try ("#\." functor)]
     ["." exception]]
@@ -21,10 +21,10 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
     [//
-     ["." duration]]]})
+     ["." duration]]]])
 
 (def: #export random
   (Random /.Month)
@@ -46,6 +46,8 @@
                  ($order.spec /.order ..random))
           (_.for [/.enum]
                  ($enum.spec /.enum ..random))
+          (_.for [/.codec]
+                 ($codec.spec /.equivalence /.codec ..random))
 
           (do random.monad
             [expected ..random
@@ -85,5 +87,13 @@
                                (list\map /.leap_year_days)
                                (list\fold n.+ 0)
                                (n.= expected))))
-                ))
-          )))
+                (do random.monad
+                  [not_a_month (random.ascii/upper 1)]
+                  (_.cover [/.not_a_month_of_the_year]
+                           (case (\ /.codec decode not_a_month)
+                             (#try.Failure error)
+                             (exception.match? /.not_a_month_of_the_year error)
+                             
+                             (#try.Success _)
+                             false)))
+                )))))
diff --git a/stdlib/source/test/lux/time/year.lux b/stdlib/source/test/lux/time/year.lux
index 3e29f0ffb..97c416c11 100644
--- a/stdlib/source/test/lux/time/year.lux
+++ b/stdlib/source/test/lux/time/year.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." codec]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." codec]]]
    [control
     ["." try]
     ["." exception]]
@@ -20,12 +19,12 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["#." duration]
      ["#." instant]
-     ["#." date]]]})
+     ["#." date]]]])
 
 (def: #export random
   (Random /.Year)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
index b280591fe..a1d16b40b 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
@@ -24,7 +24,7 @@
   [//
    ["_." primitive]
    ["_." structure]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["#." module]
@@ -35,7 +35,7 @@
        [///
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (def: (exhaustive-weaving branchings)
   (-> (List (List Code)) (List (List Code)))
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux
index 8bc1173f6..68b39b8b8 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux
@@ -24,7 +24,7 @@
   [//
    ["_." primitive]
    ["_." structure]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["#." module]
@@ -36,7 +36,7 @@
         ["#." reference]
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (def: (check-apply expectedT num-args analysis)
   (-> Type Nat (Operation Analysis) Bit)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/primitive.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/primitive.lux
index c26e16a6f..aa3382aa5 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/primitive.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/primitive.lux
@@ -14,7 +14,7 @@
     ["." exception (#+ exception:)]]
    [macro
     ["." code]]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["#." type]
@@ -30,7 +30,7 @@
        [///
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (def: #export (expander macro inputs state)
   Expander
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux
index ec5ef8ae0..4f94ea927 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux
@@ -17,7 +17,7 @@
     ["." code]]]
   [//
    ["_." primitive]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["#." scope]
@@ -30,7 +30,7 @@
         ["#." reference]
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (type: Check (-> (Try Any) Bit))
 
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux
index f96c8045a..2f0f5d810 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux
@@ -25,7 +25,7 @@
     ["." code]]]
   [//
    ["_." primitive]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["#." module]
@@ -36,7 +36,7 @@
        [///
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (template [<name> <on-success> <on-error>]
   [(def: #export <name>
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
index 4041ceaba..ebcaa3917 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
@@ -21,7 +21,7 @@
   [////
    [analysis
     ["_." primitive]]]
-  {1
+  [\\
    ["." /
     ["///#" //// #_
      [analysis
@@ -30,7 +30,7 @@
      [////
       ["." phase]
       [meta
-       ["." archive]]]]]})
+       ["." archive]]]]]])
 
 (template [<name> <success> <failure>]
   [(def: (<name> procedure params output-type)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux
index 84c238ad7..7cce92462 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux
@@ -23,7 +23,7 @@
     ["." random (#+ Random)]]]
   ["." // #_
    ["#." primitive]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["/#" // #_
@@ -37,7 +37,7 @@
          [variable (#+ Register)]]
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (def: masking-test
   Test
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/function.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/function.lux
index d5bffc3c1..841f941db 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/function.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/function.lux
@@ -20,7 +20,7 @@
     ["." random (#+ Random)]]]
   ["." // #_
    ["#." primitive]]
-  {1
+  [\\
    ["." /
     ["/#" //
      ["/#" // #_
@@ -35,7 +35,7 @@
          ["." variable (#+ Variable)]]
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (def: (n-function loop? arity body)
   (-> Bit Arity Synthesis Synthesis)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
index edf3e6fcb..9b21270a4 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
@@ -13,7 +13,7 @@
      ["." list ("#\." functor)]]]
    [math
     ["." random (#+ Random) ("#\." monad)]]]
-  {1
+  [\\
    ["." /
     [////
      ["." analysis (#+ Environment)]
@@ -21,7 +21,7 @@
      [///
       [arity (#+ Arity)]
       ["." reference (#+ Constant)
-       ["." variable (#+ Register Variable)]]]]]})
+       ["." variable (#+ Register Variable)]]]]]])
 
 (type: (Scenario a)
   (-> Register Arity Register (Random [Register [a a]])))
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/primitive.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/primitive.lux
index be4542936..7a652d26c 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/primitive.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/primitive.lux
@@ -13,7 +13,7 @@
      ["." list]]]
    ["r" math/random (#+ Random) ("#\." monad)]
    ["_" test (#+ Test)]]
-  {1
+  [\\
    ["." / #_
     ["/#" //
      ["/#" // #_
@@ -25,7 +25,7 @@
        [///
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (def: #export primitive
   (Random Analysis)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/structure.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/structure.lux
index f109acd9c..a3a476959 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/structure.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/structure.lux
@@ -18,7 +18,7 @@
      ["." list]]]]
   ["." // #_
    ["#." primitive]]
-  {1
+  [\\
    ["." / #_
     ["/#" //
      ["/#" // #_
@@ -30,7 +30,7 @@
        [///
         ["." phase]
         [meta
-         ["." archive]]]]]]]})
+         ["." archive]]]]]]]])
 
 (def: variant
   Test
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/variable.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/variable.lux
index 5a18e6d40..f50a196b6 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/variable.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/variable.lux
@@ -17,14 +17,14 @@
     [collection
      ["." list ("#\." functor fold)]
      ["." dictionary (#+ Dictionary)]]]]
-  {1
+  [\\
    ["." /
     [////
      ["." analysis]
      ["." synthesis (#+ Side Member Path Synthesis)]
      [///
       [reference
-       ["." variable]]]]]})
+       ["." variable]]]]]])
 
 (template: (!expect <pattern> <value>)
   (case <value>
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/syntax.lux b/stdlib/source/test/lux/tool/compiler/language/lux/syntax.lux
index a95bb9292..cbb463ac3 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/syntax.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/syntax.lux
@@ -21,8 +21,8 @@
     ["." code]]
    [meta
     ["." location]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: name-part^
   (Random Text)
diff --git a/stdlib/source/test/lux/type.lux b/stdlib/source/test/lux/type.lux
index 933edbfa3..cae8a8773 100644
--- a/stdlib/source/test/lux/type.lux
+++ b/stdlib/source/test/lux/type.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     ["." monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [control
     [pipe (#+ case>)]]
    [data
@@ -18,8 +17,8 @@
     ["." random (#+ Random) ("#\." monad)]
     [number
      ["n" nat]]]]
-  {1
-   ["." / ("#\." equivalence)]}
+  [\\
+   ["." / ("#\." equivalence)]]
   ["." / #_
    ["#." abstract]
    ["#." check]
diff --git a/stdlib/source/test/lux/type/abstract.lux b/stdlib/source/test/lux/type/abstract.lux
index 30ad27687..a023e1350 100644
--- a/stdlib/source/test/lux/type/abstract.lux
+++ b/stdlib/source/test/lux/type/abstract.lux
@@ -17,8 +17,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template.with_locals [g!Foo g!Bar]
   (as_is (template [<syntax> <meta>]
diff --git a/stdlib/source/test/lux/type/check.lux b/stdlib/source/test/lux/type/check.lux
index e6e0f4b16..b9f0f570f 100644
--- a/stdlib/source/test/lux/type/check.lux
+++ b/stdlib/source/test/lux/type/check.lux
@@ -3,11 +3,10 @@
    ["_" test (#+ Test)]
    [abstract
     ["." monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." functor (#+ Injection Comparison)]
-      ["$." apply]
-      ["$." monad]]}]
+    [\spec
+     ["$." functor (#+ Injection Comparison)]
+     ["$." apply]
+     ["$." monad]]]
    [control
     [pipe (#+ case>)]
     ["." function]
@@ -27,8 +26,8 @@
     [number
      ["n" nat]]]
    ["." type ("#\." equivalence)]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 ## TODO: Remove the following 3 definitions ASAP. //.type already exists...
 (def: short
diff --git a/stdlib/source/test/lux/type/dynamic.lux b/stdlib/source/test/lux/type/dynamic.lux
index e95f68146..f9b5472f4 100644
--- a/stdlib/source/test/lux/type/dynamic.lux
+++ b/stdlib/source/test/lux/type/dynamic.lux
@@ -13,8 +13,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/type/implicit.lux b/stdlib/source/test/lux/type/implicit.lux
index 9ef12d3a0..0387c1dd2 100644
--- a/stdlib/source/test/lux/type/implicit.lux
+++ b/stdlib/source/test/lux/type/implicit.lux
@@ -15,8 +15,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (/.implicit: [n.multiplication])
 
diff --git a/stdlib/source/test/lux/type/quotient.lux b/stdlib/source/test/lux/type/quotient.lux
index ef19c6841..962d2d2aa 100644
--- a/stdlib/source/test/lux/type/quotient.lux
+++ b/stdlib/source/test/lux/type/quotient.lux
@@ -3,9 +3,8 @@
    ["_" test (#+ Test)]
    [abstract
     ["." monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]]}]
+    [\spec
+     ["$." equivalence]]]
    [data
     ["." text ("#\." equivalence)
      ["%" format (#+ format)]]]
@@ -13,8 +12,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat ("#\." equivalence)]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: #export (random class super)
   (All [t c %] (-> (/.Class t c %) (Random t) (Random (/.Quotient t c %))))
diff --git a/stdlib/source/test/lux/type/refinement.lux b/stdlib/source/test/lux/type/refinement.lux
index 260f5f51f..1e4e4da3b 100644
--- a/stdlib/source/test/lux/type/refinement.lux
+++ b/stdlib/source/test/lux/type/refinement.lux
@@ -12,8 +12,8 @@
     ["." random]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (def: _refiner
   (/.refinement (n.> 123)))
diff --git a/stdlib/source/test/lux/type/resource.lux b/stdlib/source/test/lux/type/resource.lux
index 1a56d8d08..e5061dc1e 100644
--- a/stdlib/source/test/lux/type/resource.lux
+++ b/stdlib/source/test/lux/type/resource.lux
@@ -21,8 +21,8 @@
     ["." code]]
    [math
     ["." random]]]
-  {1
-   ["." / (#+ Res)]})
+  [\\
+   ["." / (#+ Res)]])
 
 (def: pure
   Test
diff --git a/stdlib/source/test/lux/type/unit.lux b/stdlib/source/test/lux/type/unit.lux
index 291f6f6b2..aecce2374 100644
--- a/stdlib/source/test/lux/type/unit.lux
+++ b/stdlib/source/test/lux/type/unit.lux
@@ -6,11 +6,10 @@
    [abstract
     [monad (#+ do)]
     [equivalence (#+ Equivalence)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." order]
-      ["$." enum]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." order]
+     ["$." enum]]]
    [macro
     [syntax (#+ syntax:)]
     ["." code]]
@@ -19,8 +18,8 @@
     [number
      ["i" int]
      ["." ratio ("#\." equivalence)]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (template [<name> <type> <unit>]
   [(def: (<name> range)
diff --git a/stdlib/source/test/lux/type/variance.lux b/stdlib/source/test/lux/type/variance.lux
index 83927d03c..d8f5aebf2 100644
--- a/stdlib/source/test/lux/type/variance.lux
+++ b/stdlib/source/test/lux/type/variance.lux
@@ -5,10 +5,10 @@
     [monad (#+ do)]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     ["/#" // #_
-     ["#." check]]]})
+     ["#." check]]]])
 
 (type: Super
   (Ex [sub] [Text sub]))
diff --git a/stdlib/source/test/lux/world/console.lux b/stdlib/source/test/lux/world/console.lux
index b196199fc..b153e84e9 100644
--- a/stdlib/source/test/lux/world/console.lux
+++ b/stdlib/source/test/lux/world/console.lux
@@ -12,10 +12,10 @@
      ["%" format (#+ format)]]]
    [math
     ["." random]]]
-  {1
-   ["." /]}
-  {[1 #spec]
-   ["$." /]})
+  [\\
+   ["." /]]
+  [\\spec
+   ["$." /]])
 
 (exception: dead)
 
diff --git a/stdlib/source/test/lux/world/file.lux b/stdlib/source/test/lux/world/file.lux
index 4b9f8655a..0e5c61c8f 100644
--- a/stdlib/source/test/lux/world/file.lux
+++ b/stdlib/source/test/lux/world/file.lux
@@ -9,10 +9,10 @@
     ["." random]]]
   ["." / #_
    ["#." watch]]
-  {1
-   ["." /]}
-  {[1 #spec]
-   ["$." /]})
+  [\\
+   ["." /]]
+  [\\spec
+   ["$." /]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/world/file/watch.lux b/stdlib/source/test/lux/world/file/watch.lux
index 57511136e..9b9937a25 100644
--- a/stdlib/source/test/lux/world/file/watch.lux
+++ b/stdlib/source/test/lux/world/file/watch.lux
@@ -17,9 +17,9 @@
      ["." list]]]
    [math
     ["." random (#+ Random) ("#\." monad)]]]
-  {1
+  [\\
    ["." /
-    ["/#" //]]}
+    ["/#" //]]]
   [////
    [data
     ["$." binary]]])
diff --git a/stdlib/source/test/lux/world/input/keyboard.lux b/stdlib/source/test/lux/world/input/keyboard.lux
index 1dde1aaa7..b58bff96f 100644
--- a/stdlib/source/test/lux/world/input/keyboard.lux
+++ b/stdlib/source/test/lux/world/input/keyboard.lux
@@ -15,8 +15,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (with_expansions [<groups> (as_is [keys/commands
                                    [/.back_space
diff --git a/stdlib/source/test/lux/world/net/http/client.lux b/stdlib/source/test/lux/world/net/http/client.lux
index 0ac51bad0..612d599ff 100644
--- a/stdlib/source/test/lux/world/net/http/client.lux
+++ b/stdlib/source/test/lux/world/net/http/client.lux
@@ -19,10 +19,10 @@
     ["." random (#+ Random)]
     [number
      ["." nat]]]]
-  {1
+  [\\
    ["." /
     ["/#" //
-     ["#." status]]]})
+     ["#." status]]]])
 
 (def: #export test
   Test
diff --git a/stdlib/source/test/lux/world/net/http/status.lux b/stdlib/source/test/lux/world/net/http/status.lux
index 801dc1b43..84fbf4b2c 100644
--- a/stdlib/source/test/lux/world/net/http/status.lux
+++ b/stdlib/source/test/lux/world/net/http/status.lux
@@ -10,9 +10,9 @@
    [math
     [number
      ["n" nat]]]]
-  {1
+  [\\
    ["." /
-    ["/#" //]]})
+    ["/#" //]]])
 
 (with_expansions [<categories> (as_is [informational
                                        [/.continue
diff --git a/stdlib/source/test/lux/world/output/video/resolution.lux b/stdlib/source/test/lux/world/output/video/resolution.lux
index b7684ed2f..ebeec3a65 100644
--- a/stdlib/source/test/lux/world/output/video/resolution.lux
+++ b/stdlib/source/test/lux/world/output/video/resolution.lux
@@ -3,10 +3,9 @@
    ["_" test (#+ Test)]
    [abstract
     [monad (#+ do)]
-    {[0 #spec]
-     [/
-      ["$." equivalence]
-      ["$." hash]]}]
+    [\spec
+     ["$." equivalence]
+     ["$." hash]]]
    [data
     ["." maybe]
     [collection
@@ -16,8 +15,8 @@
     ["." random (#+ Random)]
     [number
      ["n" nat]]]]
-  {1
-   ["." /]})
+  [\\
+   ["." /]])
 
 (with_expansions [<resolutions> (as_is /.svga
                                        /.wsvga
diff --git a/stdlib/source/test/lux/world/program.lux b/stdlib/source/test/lux/world/program.lux
index 91484bf50..d91d7fc62 100644
--- a/stdlib/source/test/lux/world/program.lux
+++ b/stdlib/source/test/lux/world/program.lux
@@ -10,12 +10,12 @@
     ["." text]]
    [math
     ["." random (#+ Random)]]]
-  {1
+  [\\
    ["." /
     [//
-     [file (#+ Path)]]]}
-  {[1 #spec]
-   ["$." /]})
+     [file (#+ Path)]]]]
+  [\\spec
+   ["$." /]])
 
 (def: environment
   (Random Environment)
diff --git a/stdlib/source/test/lux/world/shell.lux b/stdlib/source/test/lux/world/shell.lux
index 64fa47d28..4cbdb27ed 100644
--- a/stdlib/source/test/lux/world/shell.lux
+++ b/stdlib/source/test/lux/world/shell.lux
@@ -20,12 +20,12 @@
     [number
      ["n" nat]
      ["i" int]]]]
-  {1
+  [\\
    ["." /
     [//
-     [file (#+ Path)]]]}
-  {[1 #spec]
-   ["$." /]})
+     [file (#+ Path)]]]]
+  [\\spec
+   ["$." /]])
 
 (exception: dead)
 
-- 
cgit v1.2.3