// TODO: #[derive(Flex, FlexMut, FlexOption, FlexResult ... ?)] // better derive + annotations