src: add some omitempty annotations
src: fix visibility type
src: rename module.go into trait.go