pub type RayCastResult<'a, T, N> = CastResult<(Vec<&'a mut T>, N)>;
pub enum RayCastResult<'a, T, N> { Hit((Vec<&'a mut T>, N)), NoHit, }