pub fn encode(params: &[Param], tokens: &[Token]) -> Result<Vec<u8>, AbiError>
abi.encode(values...): heads, then the tails they point into. Each value is checked against its type first.
abi.encode(values...)