let account = User::try_from_slice(&ctx.accounts.account.data.borrow())?;
// No check to ensure `account` is actually a `User` type.
let discriminator = &ctx.accounts.account.data.borrow()[..8];
if discriminator != User::DISCRIMINATOR {
return Err(ProgramError::InvalidAccountData);
}
let account = User::try_from_slice(&ctx.accounts.account.data.borrow())?;