code: func NewPlan(version Version, level Level, mask Mask) (*Plan, error) {
  	p, err := vplan(version)
  	if err != nil {
  		return nil, err
  	}
  	if err := fplan(level, mask, p); err != nil {
  		return nil, err
  	}
  	if err := lplan(version, level, p); err != nil {
  		return nil, err
  	}
  	if err := mplan(mask, p); err != nil {
  		return nil, err
  	}
  	return p, nil
  }
docs: // NewPlan returns a Plan for a QR code with the given
  // version, level, and mask.