Prototype based message passing object system for Scheme