Use an IIFE to Create a Module - Why do I need to use IIFE

Tell us what’s happening:
I am very confused by this problem as to why I need to use IIFE to create a module.
I want you to take a look at my code. As you can see, I did not use IIFE here but I still passed this challenge, indeed.
Is there any reason it is better to create a module using IIFE?

Your code so far


let isCuteMixin = function(obj) {
  obj.isCute = function() {
    return true;
  };
};
let singMixin = function(obj) {
  obj.sing = function() {
    console.log("Singing to an awesome tune");
  };
};

let funModule = {
  isCuteMixin: function(){},
  singMixin: function(){}
};

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/object-oriented-programming/use-an-iife-to-create-a-module/