tyler: I would like to propose a new design heuristic. Anything that causes Ping to make a diagram is too complex and must be simplified.
     chip: I think this is a fine heuristic, as long as our benchmark is Ping and not MarkM.
         tribble: While there's some truth to this :-) it would be a shame to limit oneself to things which don't require diagrams (particularly when the diagram is cool).
 tyler: I would like the type object and maker object to be identical (ie: no separate type object).
     chip: I agree.
         tribble: Rule #1 of Capability-based Design: Distinctions in authority are represented with distinct objects.
             tyler: I understand and agree with this design principle; however, I am not sure that I see how it applies.
                 markm: Yes, the type gives no authority. But the maker does. Therefore, they're distinct.
             tyler: Could you explain exactly what kind of manipulation you're talking about?
                 markm: Does this possible gun respond to the "shoot" message?
             tyler: I don't see how it's necessary to have Type objects in order to have an interface to an instance object.
                 markm: Really?
 tyler: While Type objects do represent a different concept than Maker objects, I feel comfortable that I can get by just fine without Type objects.
     markm: Protocol descriptions are needed.
     markm: How so