make object creation in select extensible

introduce generic function make-persistent-object