Abstract asset management in Haskell (for JavaScript)