Renamed _fields to _struct, to not conflict with the attribute of AST nodes. kind arg to Field constructor is now optional.