Extract ValidableField from AbstractField
Enable scalac's features explicitly in build
Simple abstraction related to refs
Macro annotation-based HasFields serialization
Enable @fields annotation in objects/* and add tests