Abstract traversals from expression datatypes
Flatten source layout
Move files to match subdirectory layout
Split untyped language example
Split typed language example