various cleanups.  Basic stucture as of right now is that the casobjects are
concrete, not abstract. Expressions are arrays of objects.