Proc-macros for typed-arrow: #[derive(Record)] and #[derive(Union)].
#[derive(Record)]
#[derive(Union)]