typedefvoid(*mp_load_attr_fun_t)(mp_obj_tself_in,qstrattr,mp_obj_t*dest);// for fail, do nothing; for attr, dest[0] = value; for method, dest[0] = method, dest[1] = self
typedefvoid(*mp_load_attr_fun_t)(mp_obj_tself_in,qstrattr,mp_obj_t*dest);// for fail, do nothing; for attr, dest[0] = value; for method, dest[0] = method, dest[1] = self
typedefbool(*mp_store_attr_fun_t)(mp_obj_tself_in,qstrattr,mp_obj_tvalue);// return true if store succeeded; if value==MP_OBJ_NULL then delete
typedefbool(*mp_store_attr_fun_t)(mp_obj_tself_in,qstrattr,mp_obj_tvalue);// return true if store succeeded; if value==MP_OBJ_NULL then delete