Intermediate commit with composite objects nearly working, even when the
constituent objects are not all of unique types.
Composite objects with repeated constituents seem to work now! More testing is
needed, including cases which the old analysis code could not handle.