Derive Macros

A proc macro to generate methods like is_variant / expect_variant.