Pretty dangerous stuff here we end up with an object whose behaviour doesn't match the proto and type fields...
Weird thing ^^