use crate::*;
use std::fmt::Debug;
pub trait Hasher {
type Fr: Copy + Eq + Default + Sync + Send + Debug;
fn serialize(value: Self::Fr) -> Value;
fn deserialize(value: Value) -> Self::Fr;
fn default_leaf() -> Self::Fr {
Self::Fr::default()
}
fn hash(input: &[Self::Fr]) -> Self::Fr;
}