pub fn expected_with<T>(
    val: T,
    description_func: fn(_: &T) -> String
) -> Expected<T>