Muchas veces me ocurre lo mismo, curiosamente aprendí que para resolver problemas que en un principio hallemos como resolver, primero, necesitamos relajarnos y despejarnos , salir a caminar o hacer nada, créeme eso funciona, a mi me funciona sacar mis mascotas dar la vuelta a la manzana, eso tiene su explicación científica porque el cerebro usa dos procesos para resolver problemas, el pensamiento focalizado y el disperso, el focalizado tiene que ver con concentrarte y pensar con lógica en concreto en un problema particular. Llegamos a un punto donde ya no podemos más, ahí entra el pensamiento disperso, pasa de pensar en una cosa a que el cerebro empiece un proceso de buscar alternativas, digamos que necesitas que la sangre fluya a todo los rincones, el oxigeno sea parejo y ahí es donde unas neuronas encuentran otra alternativa, es ahí cuando se te ocurre algo más, y pruebas y sale, yo llevo dos días con este problema pero hice ese proceso y di con la misma función pero con una forma de hacerlo diferente, en la programación lo importante es que puedas hacerlo no como lo hagas, animo todos pasamos por lo mismo.