Implements the mapping concept. Constantly changing.

In map files, I use the term "constructor"; a constructor is implemented by a function.

TODO
o ways to represent transport/derivation/paths
  o derivation
    o the biggest data structure
    - seems big and complex, especially split
    + free combination
    + solves type computation and transport attribution
    + other data structures are special cases
  o in between
    o view
      o visibility between two symbols
      o what about
          s ::= a | a a
        split?
  o "core"
    o the smallest data structure, just on path
    -> to small, the number is huge
o String symbols in paths
o nested definitions?
  o useful for terminals
o library improvements
  o compose functions
  o function modifiers
  o dynamic function definition:
    o selection fields in awt example