code: func info(command interface{}) (*CommandInfo, error) {
  	typeof := reflect.TypeOf(command)
  
  	// Going up the pointer chain to find the underlying struct
  	for typeof.Kind() == reflect.Ptr {
  		typeof = typeof.Elem()
  	}
  
  	field, ok := typeof.FieldByName("_")
  	if !ok {
  		return nil, fmt.Errorf(`missing meta ("_") field in %#v`, command)
  	}
  
  	name, nameOk := field.Tag.Lookup("name")
  	description, _ := field.Tag.Lookup("description")
  
  	if !nameOk {
  		return nil, fmt.Errorf(`missing "name" key in the tag string of %#v`, command)
  	}
  
  	info := &CommandInfo{
  		Name:        name,
  		Description: description,
  	}
  
  	return info, nil
  }
docs: // info returns the meta info of a command
  //
  // command is not a Command so it's easier to Test