proc-macro crate for attribute-derive