do not always use defailt constructor to clear with jobject_expressible classes; recursively clear expressed members