c'è sempre da imparare
comunque il fatto che il codice non funzionava ("tra le altre cose") era per il fatto che ha inserito la funzione in un altra funzione che poi si possa fare in qualche modo mi rimetto alla vostra conoscenza

comunque sicuramente non è argomento da trattare per un principiante e credo che
se una persona ha problemi ad accedere ad una struttura da una funzione o
scrivere correttamente una funzione
leggendo quello che è stato scritto si possa solo confondere le idee

quello che penserei io al suo posto bene si può inserire una funzione all'interno di
un altra funzione io ho fatto cosi ma perchè non funziona