Added an intermediate form that shows the transition to functional transformations without all of the logic encoded into the type system.
Merge branch 'intermediate'