Initial Commit
Initial structure tests creating two different objects
Basic type-replacement with #become
Move #become up to superclass Becoming
Add checks to make sure that the other type's implementation gets called
Support access to previous type from new type's methods