Solution using Data.Map