code: func ConvertUser(e *Unsigned) (UserInf, error) {
  	var user UserInf
  	switch e.Version {
  	case 1:
  		user = &UserV1{
  			ID:      e.ID,
  			Version: e.Version,
  			Body:    e.Body.(*primitive.UserV1),
  		}
  	case 2:
  		user = &User{
  			ID:      e.ID,
  			Version: e.Version,
  			Body:    e.Body.(*primitive.User),
  		}
  	default:
  		return nil, fmt.Errorf("Unknown User Schema Version: %d", e.Version)
  	}
  
  	return user, nil
  }
docs: // ConvertUser converts an unsigned envelope to a UserInf interface which
  // provides a common interface for all user versions.