@@ -774,7 +774,7 @@
774774 var foldl2 = foldl(dictFoldable);
775775 return function(dictMonoid) {
776776 var append3 = append(dictMonoid.Semigroup0());
777− var mempty5 = mempty(dictMonoid);
777+ var mempty6 = mempty(dictMonoid);
778778 return function(sep) {
779779 return function(xs) {
780780 var go2 = function(v) {
@@ -794,7 +794,7 @@
794794 };
795795 return foldl2(go2)({
796796 init: true,
797− acc: mempty5
797+ acc: mempty6
798798 })(xs).acc;
799799 };
800800 };
@@ -804,13 +804,13 @@
804804 var foldr22 = foldr(dictFoldable);
805805 return function(dictMonoid) {
806806 var append3 = append(dictMonoid.Semigroup0());
807− var mempty5 = mempty(dictMonoid);
807+ var mempty6 = mempty(dictMonoid);
808808 return function(f) {
809809 return foldr22(function(x) {
810810 return function(acc) {
811811 return append3(f(x))(acc);
812812 };
813− })(mempty5);
813+ })(mempty6);
814814 };
815815 };
816816 };
@@ -1803,14 +1803,14 @@
18031803 };
18041804 };
18051805 var applicativeWriterT = function(dictMonoid) {
1806− var mempty5 = mempty(dictMonoid);
1806+ var mempty6 = mempty(dictMonoid);
18071807 var applyWriterT1 = applyWriterT(dictMonoid.Semigroup0());
18081808 return function(dictApplicative) {
18091809 var pure4 = pure(dictApplicative);
18101810 var applyWriterT2 = applyWriterT1(dictApplicative.Apply0());
18111811 return {
18121812 pure: function(a) {
1813− return pure4(new Tuple(a, mempty5));
1813+ return pure4(new Tuple(a, mempty6));
18141814 },
18151815 Apply0: function() {
18161816 return applyWriterT2;
@@ -2086,7 +2086,7 @@
20862086 var fold2 = /* @__PURE__ */ _foldM(applyFlipped);
20872087 var foldMap2 = function(dictMonoid) {
20882088 var append1 = append(dictMonoid.Semigroup0());
2089− var mempty5 = mempty(dictMonoid);
2089+ var mempty6 = mempty(dictMonoid);
20902090 return function(f) {
20912091 return fold2(function(acc) {
20922092 return function(k) {
@@ -2094,7 +2094,7 @@
20942094 return append1(acc)(f(k)(v));
20952095 };
20962096 };
2097− })(mempty5);
2097+ })(mempty6);
20982098 };
20992099 };
21002100 var foldableObject = {
@@ -2239,6 +2239,7 @@
22392239 var mempty1 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidRecord2(/* @__PURE__ */ monoidRecordCons2(monoidArray)()(monoidRecordCons1)));
22402240 var foldMap3 = /* @__PURE__ */ foldMap2(monoidString);
22412241 var show1 = /* @__PURE__ */ show(showNumber);
2242+ var mempty22 = /* @__PURE__ */ mempty(monoidUnit);
22422243 var intercalate3 = /* @__PURE__ */ intercalate2(monoidString);
22432244 var map2 = /* @__PURE__ */ map(/* @__PURE__ */ functorWriterT(functorIdentity));
22442245 var map1 = /* @__PURE__ */ map(functorArray);
@@ -2718,7 +2719,7 @@
27182719 var tell2 = /* @__PURE__ */ tell(/* @__PURE__ */ monadTellWriterT(monoidSkinGrowth)(monadIdentity));
27192720 var applicativeWriterT2 = /* @__PURE__ */ applicativeWriterT(monoidSkinGrowth)(applicativeIdentity);
27202721 var pure2 = /* @__PURE__ */ pure(applicativeWriterT2);
2721− var mempty22 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidWriterT(applicativeIdentity)(monoidSkinGrowth)(monoidArray));
2722+ var mempty3 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidWriterT(applicativeIdentity)(monoidSkinGrowth)(monoidArray));
27222723 var traverse2 = /* @__PURE__ */ traverse(traversableArray)(applicativeWriterT2);
27232724 var traverseWithIndex2 = /* @__PURE__ */ traverseWithIndex(traversableWithIndexObject)(applicativeWriterT2);
27242725 var monoidMutation = {
@@ -2729,14 +2730,14 @@
27292730 return semigroupMutation;
27302731 }
27312732 };
2732− var mempty3 = /* @__PURE__ */ mempty(monoidMutation);
2733+ var mempty4 = /* @__PURE__ */ mempty(monoidMutation);
27332734 var monoidGenericUI = function(dictMonoid) {
2734− var mempty42 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
2735+ var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
27352736 var semigroupGenericUI1 = semigroupGenericUI(dictMonoid.Semigroup0());
27362737 return function(dictMonoid1) {
27372738 var semigroupGenericUI2 = semigroupGenericUI1(dictMonoid1.Semigroup0());
27382739 return {
2739− mempty: new UI(mempty42, mempty(dictMonoid1)),
2740+ mempty: new UI(mempty52, mempty(dictMonoid1)),
27402741 Semigroup0: function() {
27412742 return semigroupGenericUI2;
27422743 }
@@ -2897,11 +2898,11 @@
28972898 ;
28982899 if (v instanceof Align) {
28992900 if (ctx instanceof Generic) {
2900− return mempty22;
2901+ return mempty3;
29012902 }
29022903 ;
29032904 if (ctx instanceof Span) {
2904− return mempty22;
2905+ return mempty3;
29052906 }
29062907 ;
29072908 if (ctx instanceof Grid) {
@@ -3031,33 +3032,40 @@
30313032 throw new Error("Failed pattern match at Plum.View (line 297, column 12 - line 355, column 46): " + [v.constructor.name]);
30323033 };
30333034 };
3035+ var onMouseDown = function(dictMonoid) {
3036+ var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3037+ return function(v) {
3038+ return new UI({
3039+ nerves: mempty52.nerves,
3040+ meat: mempty52.meat,
3041+ hover: mempty52.hover,
3042+ children: mempty52.children,
3043+ down: v.value0.meat
3044+ }, v.value1);
3045+ };
3046+ };
30343047 var onHover = function(dictMonoid) {
3035− var mempty42 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3036− return function(dictMonoid1) {
3037− return function(v) {
3038− return new UI({
3039− nerves: mempty42.nerves,
3040− meat: mempty42.meat,
3041− down: mempty42.down,
3042− children: mempty42.children,
3043− hover: v.value0.meat
3044− }, v.value1);
3045− };
3048+ var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3049+ return function(v) {
3050+ return new UI({
3051+ nerves: mempty52.nerves,
3052+ meat: mempty52.meat,
3053+ down: mempty52.down,
3054+ children: mempty52.children,
3055+ hover: v.value0.meat
3056+ }, v.value1);
30463057 };
30473058 };
30483059 var m = function(dictMonoid) {
3049− var mempty42 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3050− return function(dictMonoid1) {
3051− var mempty5 = mempty(dictMonoid1);
3052− return function(meat) {
3053− return new UI({
3054− nerves: mempty42.nerves,
3055− hover: mempty42.hover,
3056− down: mempty42.down,
3057− children: mempty42.children,
3058− meat: [meat]
3059− }, mempty5);
3060− };
3060+ var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3061+ return function(meat) {
3062+ return new UI({
3063+ nerves: mempty52.nerves,
3064+ hover: mempty52.hover,
3065+ down: mempty52.down,
3066+ children: mempty52.children,
3067+ meat: [meat]
3068+ }, mempty22);
30613069 };
30623070 };
30633071 var hWith = function(elem2) {
@@ -3086,10 +3094,10 @@
30863094 var widthFill = [new Width(Fill.value), new Height(Fill.value)];
30873095 var alignCenter = [new Align(X.value, Center.value), new Align(Y.value, Center.value)];
30883096 var skn = function(ctx) {
3089− return bind2(map2(function($511) {
3097+ return bind2(map2(function($482) {
30903098 return function(v2) {
30913099 return append2(v2)(v.extraSkin);
3092− }(concat($511));
3100+ }(concat($482));
30933101 })(traverse2(skin(ctx))(append2(v1.value0.meat)(append2(function() {
30943102 if (ctx instanceof Span) {
30953103 return mempty2;
@@ -3156,7 +3164,7 @@
31563164 ;
31573165 if (v1.value1 instanceof Wrapper) {
31583166 return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3159− return bind2(growSkin(fire)(mempty3)(v1.value1.value0))(function(x$prime) {
3167+ return bind2(growSkin(fire)(mempty4)(v1.value1.value0))(function(x$prime) {
31603168 return pure2(h3("div")(classes)([x$prime]));
31613169 });
31623170 });
@@ -3176,7 +3184,7 @@
31763184 ;
31773185 if (v1.value1 instanceof Row) {
31783186 return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3179− return bind2(traverse2(growSkin(fire)(mempty3))(v1.value1.value0))(function(children$prime) {
3187+ return bind2(traverse2(growSkin(fire)(mempty4))(v1.value1.value0))(function(children$prime) {
31803188 return pure2(h3("div")(classes)(children$prime));
31813189 });
31823190 });
@@ -3184,7 +3192,7 @@
31843192 ;
31853193 if (v1.value1 instanceof Column) {
31863194 return bind2(append22(skn(new Flexbox(Y.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-column")("flex-direction")("column"))))(function(classes) {
3187− return bind2(traverse2(growSkin(fire)(mempty3))(v1.value1.value0))(function(children$prime) {
3195+ return bind2(traverse2(growSkin(fire)(mempty4))(v1.value1.value0))(function(children$prime) {
31883196 return pure2(h3("div")(classes)(children$prime));
31893197 });
31903198 });
@@ -3192,7 +3200,7 @@
31923200 ;
31933201 if (v1.value1 instanceof Link) {
31943202 return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3195− return bind2(growSkin(fire)(mempty3)(v1.value1.value2))(function(child$prime) {
3203+ return bind2(growSkin(fire)(mempty4)(v1.value1.value2))(function(child$prime) {
31963204 return pure2(hWith("a")({
31973205 href: v1.value1.value0,
31983206 rel: "noopener noreferrer",
@@ -3210,7 +3218,7 @@
32103218 ;
32113219 if (v1.value1 instanceof Download) {
32123220 return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3213− return bind2(growSkin(fire)(mempty3)(v1.value1.value2))(function(child$prime) {
3221+ return bind2(growSkin(fire)(mempty4)(v1.value1.value2))(function(child$prime) {
32143222 return pure2(hWith("a")({
32153223 href: v1.value1.value0,
32163224 download: fromMaybe("")(v1.value1.value1.filename)
@@ -3238,7 +3246,7 @@
32383246 };
32393247 var grow = function(fire) {
32403248 return function(v) {
3241− var v1 = runWriter(growSkin(fire)(mempty3)(v));
3249+ var v1 = runWriter(growSkin(fire)(mempty4)(v));
32423250 return {
32433251 node: v1.value0,
32443252 style: styleSkinGrowth(v1.value1)
@@ -3261,11 +3269,8 @@
32613269 };
32623270 var bgColor = function(dictMonoid) {
32633271 var m1 = m(dictMonoid);
3264− return function(dictMonoid1) {
3265− var m2 = m1(dictMonoid1);
3266− return function(c) {
3267− return m2(new BackgroundColor(c));
3268− };
3272+ return function(c) {
3273+ return m1(new BackgroundColor(c));
32693274 };
32703275 };
32713276
@@ -3368,17 +3373,22 @@
33683373
33693374 // output/Main/index.js
33703375 var pure3 = /* @__PURE__ */ pure(applicativeEffect);
3371− var discard3 = /* @__PURE__ */ discard(discardUnit)(/* @__PURE__ */ bindGenericUI(monoidArray));
3372− var onHover2 = /* @__PURE__ */ onHover(monoidUnit)(monoidUnit);
3373− var bgColor2 = /* @__PURE__ */ bgColor(monoidUnit)(monoidUnit);
3374− var mempty4 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidGenericUI(monoidUnit)(monoidUnit));
3376+ var discard3 = /* @__PURE__ */ discard(discardUnit);
3377+ var discard1 = /* @__PURE__ */ discard3(/* @__PURE__ */ bindGenericUI(monoidArray));
3378+ var discard22 = /* @__PURE__ */ discard3(/* @__PURE__ */ bindGenericUI(monoidUnit));
3379+ var onHover2 = /* @__PURE__ */ onHover(monoidUnit);
3380+ var bgColor2 = /* @__PURE__ */ bgColor(monoidUnit);
3381+ var onMouseDown2 = /* @__PURE__ */ onMouseDown(monoidUnit);
3382+ var mempty5 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidGenericUI(monoidUnit)(monoidUnit));
33753383 var plum = {
33763384 init: /* @__PURE__ */ pure3({
33773385 text: "Test"
33783386 }),
33793387 view: function(model) {
3380− return column(discard3(text("hi")(onHover2(bgColor2(rgb(1)(0)(0)))))(function() {
3381− return text("hello")(mempty4);
3388+ return column(discard1(text("hi")(discard22(onHover2(bgColor2(rgb(1)(0)(0))))(function() {
3389+ return onMouseDown2(bgColor2(rgb(0)(1)(0)));
3390+ })))(function() {
3391+ return text("hello")(mempty5);
33823392 }));
33833393 },
33843394 update: function(msg) {