This probally also includes removing `Flatten` trait as it messed with `Option<EnumRepr>` (from #367).