pub fn traverse_blocks<C, T>( from: Vec3, to: Vec3, context: C, get_hit_result: impl Fn(&C, &BlockPos) -> Option<T>, get_miss_result: impl Fn(&C) -> T, ) -> T