pub fn default<T>() -> T where
    T: Default