code: func parseUnionMembers(parser *Parser) ([]*ast.Named, error) {
  	members := []*ast.Named{}
  	for {
  		member, err := parseNamed(parser)
  		if err != nil {
  			return members, err
  		}
  		members = append(members, member)
  		if skp, err := skip(parser, lexer.PIPE); err != nil {
  			return nil, err
  		} else if !skp {
  			break
  		}
  	}
  	return members, nil
  }
docs: /**
   * UnionMembers :
   *   - NamedType
   *   - UnionMembers | NamedType
   */