Fixpoint composeOptN' {A} (f : A -> option A) n x :=
match n with
| 0 => Some x
| S n =>
match composeOptN' f n x with
| Some y => f y
| None => None
end
end.

Lemma age_by_ageN {A} `{agA : ageable A} n (x : A) :
n <= level x ->
ageN n x = Some (age_by n x).