code: func signAndMarshal(k Signer, rand io.Reader, data []byte) ([]byte, error) {
  	sig, err := k.Sign(rand, data)
  	if err != nil {
  		return nil, err
  	}
  
  	return Marshal(sig), nil
  }
docs: // signAndMarshal signs the data with the appropriate algorithm,
  // and serializes the result in SSH wire format.