generalized attribute
let pic->attrs be weak-map
Merge branch 'generalized-attribute'