what about array of structs and custom pure functions?
I think bitmasking is good for high performance long data crunching tasks only