anchor.diff:  3. Selection and application of architecture and tool optoins for building spores. A given spore can be built for multiple architectures while keeping architecture-specific options out of the general spore definition.
   
   These concepts are each different and should be kept as orthogonal as possible. It is highly likely that option 3 is the only one needed initially.
  +Option 2 will become important for more complex spores or spores that have to be configured differently across architectures.
  +Option 1 may not be required at all if 2 and 3 are flexible enough.
   
  -Languages
  ----------
  +Code and Languages
  +------------------
   
   A language is named after its source form (for example, C or Rust).
   The Moss language description defines the outputs that will be created (for example, object files or other source language files).
  
positive.code: A build variant is a selection that applies across all architectures and toolchains (in most cases). An example would be debug vs production.
  
  Variants provide the mechanism for compiling multiple spores for the same architecture with different collections of settings that apply to all spores. Example use cases that apply here are debug, production, or special test build variants.
  
  Toolchains
  ----------
  
  A toolchain is a set of tools that are used to translate source code into binary form for execution on a specific architecture.
  
  Toolchain settings are chosen based upon architecture and variant. Additional customization may be overlaid for each spore based upon architecture.
  
  Code generated by one toolchain cannot be linked or combined with code generated for another toolchain unless it is explicitly forced in spore dependencies.
  
  Examples: gcc, clang, gcc-debug, clang-release, clang-debug.
  
  While a toolchain must include all tools required to produce an executable binary or library output, the name of the toolchain is generally based upon the compiler.
  
  Generally, debug versus release build variants are handled at the toolchain level due to the significant impact that may be present on generated code.
  
  - `M.TOOLS`: All available toolchains
  - `M.TOOL`: Current toolchain
  
  A toolchain uses both architecture and variant to customize settings to the specific code generation tools.
  
  
negative.code: 
  Tools are specialized according to:
  
  - Architecture - how source is compiled for target machine and execution environment
  - Variant - global variations on compiling
  
  Spores
  