 : string = &quot;foo&quot;</code></pre><p>This law is saying is that if I call <code>map</code> on a functor and I don't do anything to the elements because I'm calling <code>map</code> with the <code>id</code> function, then I should get back the same collection. This is important to achieve the notion that functors should be <i>composably mappable</i>.</p></li><li><p>The Composition Law</p><p><code>map (compose g f) x = compose (map g) (map f) x</code></p><p>And <code>compose</code> is just function comp