Si se utilizara "for so long" aquí, ¿cambiaría el matiz de la frase de alguna manera? ¿Podríais explicar la diferencia entre "so" y "very", si es que hay alguna?

Respuesta de un hablante nativo
Rebecca
¡Cambiaría un poco! "So long" implicaría un cierto grado o cantidad; mientras que "very long" enfatiza la duración. Ej: "You shouldn't have baked the cake for so long." (No deberías haber tenido el pastel en el horno tanto tiempo.) => Ha superado el tiempo recomendado = "You shouldn't have baked the cake for very long." (No deberías haber tenido el pastel en el horno mucho tiempo.) => Demasiado en general Ej: "It wasn't so bad." (No estuvo tan mal.) => No fue tan terrible como piensas = "It wasn't very bad." (No fue muy mal.) => No fue del todo mal