Bitbite

Bitbite is a simple trait that would help you interact bytes with flags easily
How to use
All you need to do is declare the flags and implement the trait.
use ;
use ;
;
let mut t = NesCartridgeF6;
let lower_mapper = t.get_flag;
assert_eq!;
Getting the flag value will always be shifted so you won't need to shift the data yourself
Bigger flags
The trait BitBite and the struct Flag are generics and can hold any primitive integer, so you could have a struct that hold 1,2,4 bytes of data and still use the flags seamlessly.
Mutability
You can now edit your bytes with flags with ease, you can use set_flag to override the entire flag's mask and change it as you please.
And in case you don't want to override the previous values you can set_on different bits to hold their state as it is.
Derive 
For easier use you can add the bitbite_derive crate
I also recommend using deref-derive for maximum ease
use *;
use Bitbite;
use *;
;