more trait refs, and some support for enum variants