pub trait ReadJs {
// Required method
fn read_js(ctx: &DukContext, obj_index: i32) -> Result<Self, JsError>
where Self: Sized;
// Provided method
fn read_js_top(ctx: &DukContext) -> Result<Self, JsError>
where Self: Sized { ... }
}