exec (Appending ok f' r') = if L.isEmpty f'
  then Appending (ok - 1) (L.tail f') (L.head f' `L.cons` r')
  else Appending ok f' r'
exec (Appending ok f' r') = if L.isEmpty f'
  then Appending (ok - 1) (L.tail f') (L.head f' `L.cons` r')
  else Appending ok f' r'
exec (Appending ok f' r') = if L.isEmpty f'
  then Appending (ok - 1) (L.tail f') (L.head f' `L.cons` r')
  else Appending ok f' r'