pub fn create_occultation(
    gen: &mut UniqueGenGen<'_>,
    max_z: &mut ZLevel,
    gplayers: &mut GPlayers,
    gpieces: &mut GPieces,
    goccults: &mut GOccults,
    ipieces: &IPieces,
    ioccults: &IOccults,
    to_recalculate: &mut ToRecalculate,
    _: OcculterRotationChecked,
    region: Region,
    occulter: PieceId,
    views: OccultationViews,
    _puos_will_return: &PUOs_Simple_Modify
) -> Result<Vec<(PieceId, PieceUpdateOps)>, APOE>