modify infer to get abstract value and attr value map together support get attr in specialize clone primitive when specialize if attribute is not the same with infered attribute