-- | Calculate the nearest intersection made by a ray with a list of objects,
-- and with each object return the point of intersection's distance from the
-- ray's initial point. Returns 'Nothing' if no intersections were made.
fstIntersection :: [Object] -> Ray -> Maybe (Object, Scalar)
fstIntersection = (maybeMinBy (comparing snd) .) . intersections
fstIntersection :: [Object] -> Ray -> Maybe (Object, Scalar)
fstIntersection = (maybeMinBy (comparing snd) .) . intersections
fstIntersection = (maybeMinBy (comparing snd) .) . intersections