What he was getting at is that you can <i>reuse</i> functions which know nothing about the specific context (like, what container are we mapping over). It&#x27;s not that you couldn&#x27;t change the type of thing inside.<p>A little more formally, if you have a functor F you can take some (a -&gt; b) and make it into an (F a -&gt; F b). For example, if F is [] (List), you get ([a] -&gt; [b]).<p>So [] adds something (a list &quot;context&quot;), but in a sense you don&#x27;t lose anything (you can still reuse your (a -&gt; b) which knows nothing about the context). That&#x27;s the wonderful thing about these formal approaches: composability.<p>(It&#x27;s sometimes unfortunate that List has this special syntax).