Various: 20141007

why do we need this?  can't we support specifying an implementation as the `type` and then detect whether it is a concrete class and construct the instance and proxy appropriately (taking all interfaces as the proxy)?

feels like it's painful even suggesting that someone coming from YAML should supply both `type`  and `impl`.