I compared doesNotUnderstand: vs��cannotInterpret:��versions of proxies.

DNUProxy>>doesNotUnderstand: aMessage��
lastMessage := aMessage.
^'from DNU proxy'

CannotInterpretProxy>>cannotInterpret: aMessage��
lastMessage := aMessage.
^'from cannot interpret proxy'


And DNU proxy works 2 times faster then #cannotInterpret proxy.

[proxy someMessage] benchFor: 2 seconds.

DNU:
��"a BenchmarkResult(22,377,669 iterations in 2 seconds. 11,188,835 per second)"

CannotInterpet:
��"a BenchmarkResult(13,148,735 iterations in 2 seconds 2 milliseconds.��6,567,800 per second)

Also DNU version is much more easy to explain.��

So why Ghost uses #cannotInterpret for proxies? (after reading Ghost paper I can't understand this).
Naked proxy can be easily done by setting superclass to nil:

ProtoObject subclass: #DNUProxy
instanceVariableNames: ''
classVariableNames: ''
package: 'DNUProxy'.
DNUProxy superclass: nil

��