module SumOfMultiples (..) where sumOfMultiples : List Int -> Int -> Int sumOfMultiples multiples limit = List.sum (List.filter (inMultiples multiples) [1..(limit - 1)]) inMultiples : List Int -> Int -> Bool inMultiples multiples candidate = List.any (\factor -> candidate % factor == 0) multiples