Implementing a simple derive macro