code: func Fill(element interface{}, node *Node) error {
  	if element == nil || node == nil {
  		return nil
  	}
  
  	if node.Kind == 0 {
  		return fmt.Errorf("missing node type: %s", node.Name)
  	}
  
  	elem := reflect.ValueOf(element)
  	if elem.Kind() == reflect.Struct {
  		return fmt.Errorf("struct are not supported, use pointer instead")
  	}
  
  	return fill(elem.Elem(), node)
  }
docs: // Fill the fields of the element.
  // nodes -> element