A macro that allows creating an enum that acts similar to a trait object, but without using the heap. See: https://singpolyma.net/2018/09/rust-factory-without-box-trait-object/