Could I use Elm for this solution?