У страниц через tea-combine только есть проблема с памятью.
Нужно закладывать чистку перед уходом. Т.е условно если одна страница грузит себе пару мб данных, это с подходом
type Page = Home Home.Model | Catalog Catalog.Model
type alias Model = { page: Page }
при смене страниц сборщик должен собрать мусор от прошлой.