additionalItemsVal f (AdditionalObject subSchema) xs =
    let res = mapMaybe
                  (\(index,x) -> (\v -> (index, v))
                             <$> NE.nonEmpty (f subSchema x))
                  xs
    in AdditionalItemsObjectInvalid <$> NE.nonEmpty res
additionalItemsVal f (AdditionalObject subSchema) xs =
    let res = mapMaybe
                  (\(index,x) -> (\v -> (index, v))
                             <$> NE.nonEmpty (f subSchema x))
                  xs
    in AdditionalItemsObjectInvalid <$> NE.nonEmpty res
additionalItemsVal f (AdditionalObject subSchema) xs =
    let res = mapMaybe
                  (\(index,x) -> (\v -> (index, v))
                             <$> NE.nonEmpty (f subSchema x))
                  xs
    in AdditionalItemsObjectInvalid <$> NE.nonEmpty res