diff --git a/numhask.cabal b/numhask.cabal
--- a/numhask.cabal
+++ b/numhask.cabal
@@ -1,5 +1,5 @@
 name: numhask
-version: 0.3.1
+version: 0.4.0
 synopsis:
   numeric classes
 description:
@@ -56,14 +56,11 @@
     NumHask.Algebra.Abstract.Additive
     NumHask.Algebra.Abstract.Field
     NumHask.Algebra.Abstract.Group
-    NumHask.Algebra.Abstract.Homomorphism
     NumHask.Algebra.Abstract.Lattice
     NumHask.Algebra.Abstract.Module
     NumHask.Algebra.Abstract.Multiplicative
     NumHask.Algebra.Abstract.Ring
-    NumHask.Algebra.Abstract.TensorProduct
     NumHask.Algebra.Linear.Hadamard
-    NumHask.Analysis.Banach
     NumHask.Analysis.Metric
     NumHask.Data.Complex
     NumHask.Data.Integral
diff --git a/other/field.svg b/other/field.svg
new file mode 100644
--- /dev/null
+++ b/other/field.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" height="600.0000" stroke-opacity="1" viewBox="0 0 600 600" font-size="1" width="600.0000" xmlns:xlink="http://www.w3.org/1999/xlink" stroke="rgb(0,0,0)" version="1.1"><defs></defs><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,239.0929,583.8013)" stroke="none" text-anchor="middle">Field</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 271.4903,600.0000 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,274.0821,488.0333)" stroke="none" text-anchor="middle">CommutativeRing</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 306.4795,504.2320 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,274.0821,392.6825)" stroke="none" text-anchor="middle">Ring</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 306.4795,408.8812 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,310.3672,297.3434)" stroke="none" text-anchor="middle">Distributive</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 342.7646,313.5421 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,169.1145,297.3434)" stroke="none" text-anchor="middle">Divisive</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 201.5119,313.5421 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,240.3888,202.8078)" stroke="none" text-anchor="middle">Multiplicative</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 272.7862,219.0065 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,239.0929,297.3434)" stroke="none" text-anchor="middle">Subtractive</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 271.4903,313.5421 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,310.3672,202.8078)" stroke="none" text-anchor="middle">Additive</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 342.7646,219.0065 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,430.8855,202.8078)" stroke="none" text-anchor="middle">Absorbing</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 463.2829,219.0065 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,170.4104,202.8078)" stroke="none" text-anchor="middle">Invertible</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 202.8078,219.0065 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,371.2743,109.5032)" stroke="none" text-anchor="middle">Commutative</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 403.6717,125.7019 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,301.2959,109.5032)" stroke="none" text-anchor="middle">Associative</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 333.6933,125.7019 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,231.3175,109.5032)" stroke="none" text-anchor="middle">Unital</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 263.7149,125.7019 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="6.479481641468682px" stroke="rgb(0,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,301.2959,16.1987)" stroke="none" text-anchor="middle">Magma</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 333.6933,32.3974 l -0.0000,-32.3974 h -64.7948 l -0.0000,32.3974 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 289.1469,32.3974 l -40.8803,54.5071 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 243.4665,93.3045 l 7.8140,-5.4979 l -3.2933,-0.5297 l -1.4307,-3.0132 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 247.9873,87.2769 l 0.2793,-0.3723 l 0.7082,0.5312 l -0.9875,-0.1588 l 0.2793,-0.3723 l -0.7082,-0.5312 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 301.2959,32.3974 l 0.0000,52.9071 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 301.2959,93.3045 l 2.9525,-9.0868 l -2.9525,1.5522 l -2.9525,-1.5522 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 301.2959,85.7700 l -0.0000,-0.4654 l 0.8853,-0.0000 l -0.8853,0.4654 l -0.0000,-0.4654 l -0.8853,0.0000 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 313.4449,32.3974 l 40.8803,54.5071 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 359.1253,93.3045 l -3.0901,-9.0409 l -1.4307,3.0132 l -3.2933,0.5297 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 354.6045,87.2769 l -0.2793,-0.3723 l 0.7082,-0.5312 l -0.4290,0.9035 l -0.2793,-0.3723 l -0.7082,0.5312 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 289.9343,32.3974 l -103.5685,147.6621 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 181.7720,186.6091 l 7.6350,-5.7439 l -3.3085,-0.4246 l -1.5259,-2.9662 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 186.0985,180.4405 l 0.2673,-0.3810 l 0.7248,0.5084 l -0.9921,-0.1273 l 0.2673,-0.3810 l -0.7248,-0.5084 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 312.5450,32.3974 l 102.5283,147.6407 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 419.6364,186.6091 l -2.7580,-9.1477 l -1.5397,2.9590 l -3.3104,0.4091 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 415.3387,180.4204 l -0.2655,-0.3823 l 0.7272,-0.5050 l -0.4617,0.8873 l -0.2655,-0.3823 l -0.7272,0.5050 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 360.7001,125.7019 l -35.3858,54.2081 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 320.9413,186.6091 l 7.4394,-5.9952 l -3.3208,-0.3141 l -1.6239,-2.9137 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 325.0599,180.2998 l 0.2544,-0.3897 l 0.7413,0.4839 l -0.9957,-0.0942 l 0.2544,-0.3897 l -0.7413,-0.4839 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 245.0414,125.7019 l 46.4305,54.8033 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 296.6433,186.6091 l -3.6212,-8.8416 l -1.2493,3.0928 l -3.2561,0.7242 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 291.7728,180.8603 l -0.3009,-0.3551 l 0.6755,-0.5723 l -0.3746,0.9274 l -0.3009,-0.3551 l -0.6755,0.5723 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 302.8708,125.7019 l 5.1474,52.9447 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 308.7923,186.6091 l 2.0593,-9.3298 l -2.7884,1.8306 l -3.0888,-1.2592 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 308.0632,179.1099 l -0.0450,-0.4632 l 0.8811,-0.0857 l -0.8361,0.5489 l -0.0450,-0.4632 l -0.8811,0.0857 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 182.1791,219.0065 l 40.4428,55.6660 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 227.3241,281.1447 l -2.9524,-9.0868 l -1.4763,2.9912 l -3.3010,0.4796 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 222.8955,275.0491 l -0.2736,-0.3765 l 0.7162,-0.5204 l -0.4427,0.8969 l -0.2736,-0.3765 l -0.7162,0.5204 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 298.1543,219.0065 l -42.0325,55.7503 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 251.3057,281.1447 l 7.8279,-5.4782 l -3.2920,-0.5380 l -1.4231,-3.0168 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 255.8416,275.1285 l 0.2802,-0.3716 l 0.7069,0.5330 l -0.9871,-0.1613 l 0.2802,-0.3716 l -0.7069,-0.5330 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 232.8924,125.7019 l 5.1474,52.9447 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 238.8139,186.6091 l 2.0593,-9.3298 l -2.7884,1.8306 l -3.0888,-1.2592 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 238.0848,179.1099 l -0.0450,-0.4632 l 0.8811,-0.0857 l -0.8361,0.5489 l -0.0450,-0.4632 l -0.8811,0.0857 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 290.7217,125.7019 l -35.3858,54.2081 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 250.9629,186.6091 l 7.4394,-5.9952 l -3.3208,-0.3141 l -1.6239,-2.9137 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 255.0815,180.2998 l 0.2544,-0.3897 l 0.7413,0.4839 l -0.9957,-0.0942 l 0.2544,-0.3897 l -0.7413,-0.4839 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 170.1883,219.0065 l -0.7421,54.1390 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 169.3365,281.1447 l 3.0767,-9.0455 l -2.9735,1.5116 l -2.9309,-1.5925 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 169.4398,273.6108 l 0.0064,-0.4654 l 0.8852,0.0121 l -0.8916,0.4533 l 0.0064,-0.4654 l -0.8852,-0.0121 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 228.1759,219.0065 l -42.0325,55.7503 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 181.3273,281.1447 l 7.8279,-5.4782 l -3.2920,-0.5380 l -1.4231,-3.0168 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 185.8632,275.1285 l 0.2802,-0.3716 l 0.7069,0.5330 l -0.9871,-0.1613 l 0.2802,-0.3716 l -0.7069,-0.5330 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 310.3672,219.0065 l 0.0000,54.1382 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 310.3672,281.1447 l 2.9525,-9.0868 l -2.9525,1.5522 l -2.9525,-1.5522 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 310.3672,273.6101 l -0.0000,-0.4654 l 0.8853,-0.0000 l -0.8853,0.4654 l -0.0000,-0.4654 l -0.8853,0.0000 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 252.3796,219.0065 l 41.2371,55.7082 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 298.3764,281.1447 l -3.0332,-9.0601 l -1.4495,3.0042 l -3.2966,0.5090 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 293.8936,275.0888 l -0.2769,-0.3741 l 0.7116,-0.5267 l -0.4346,0.9008 l -0.2769,-0.3741 l -0.7116,0.5267 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 410.2347,219.0065 l -72.9221,57.2007 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 331.0180,281.1447 l 8.9719,-3.2852 l -3.0435,-1.3651 l -0.6009,-3.2811 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 336.9463,276.4945 l 0.3662,-0.2873 l 0.5464,0.6966 l -0.9126,-0.4093 l 0.3662,-0.2873 l -0.5464,-0.6966 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 304.2021,313.5421 l -21.1094,55.4649 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 280.2471,376.4838 l 5.9915,-7.4423 l -3.3115,0.4005 l -2.2073,-2.5009 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 282.9272,369.4420 l 0.1656,-0.4350 l 0.8274,0.3149 l -0.9930,0.1201 l 0.1656,-0.4350 l -0.8274,-0.3149 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 245.0378,313.5421 l 20.3432,55.4315 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 268.1372,376.4838 l -0.3589,-9.5477 l -2.2369,2.4744 l -3.3065,-0.4400 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 265.5413,369.4105 l -0.1604,-0.4369 l 0.8311,-0.3050 l -0.6707,0.7419 l -0.1604,-0.4369 l -0.8311,0.3050 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 367.1151,125.7019 l -86.8842,338.3840 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 278.2413,471.8346 l 5.1195,-8.0670 l -3.2457,0.7692 l -2.4737,-2.2377 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 280.1151,464.5367 l 0.1158,-0.4508 l 0.8575,0.2202 l -0.9732,0.2306 l 0.1158,-0.4508 l -0.8575,-0.2202 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 274.0821,408.8812 l 0.0000,54.9533 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 274.0821,471.8346 l 2.9525,-9.0868 l -2.9525,1.5522 l -2.9525,-1.5522 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 274.0821,464.3000 l -0.0000,-0.4654 l 0.8853,-0.0000 l -0.8853,0.4654 l -0.0000,-0.4654 l -0.8853,0.0000 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 268.1638,504.2320 l -20.4074,55.8564 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 245.0111,567.6026 l 5.8915,-7.5218 l -3.3058,0.4448 l -2.2405,-2.4711 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 247.5967,560.5256 l 0.1597,-0.4372 l 0.8315,0.3038 l -0.9913,0.1334 l 0.1597,-0.4372 l -0.8315,-0.3038 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.7706022696834567" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 173.0716,313.5421 l 60.1656,246.2890 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 235.1357,567.6026 l 0.7117,-9.5279 l -2.4998,2.2085 l -3.2365,-0.8072 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 233.3477,560.2833 l -0.1105,-0.4521 l 0.8600,-0.2101 l -0.7496,0.6622 l -0.1105,-0.4521 l -0.8600,0.2101 Z"/></g></svg>
diff --git a/other/ring.svg b/other/ring.svg
deleted file mode 100644
--- a/other/ring.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
-    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" height="600.0000" stroke-opacity="1" viewBox="0 0 600 600" font-size="1" width="600.0000" xmlns:xlink="http://www.w3.org/1999/xlink" stroke="rgb(0,0,0)" version="1.1"><defs></defs><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,218.2130,587.6829)" stroke="none" text-anchor="middle">Field</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 242.8472,600.0000 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,218.2130,514.8633)" stroke="none" text-anchor="middle">IntegralDomain</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 242.8472,527.1804 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,218.2130,442.0456)" stroke="none" text-anchor="middle">CRing</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 242.8472,454.3627 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,255.6570,369.5423)" stroke="none" text-anchor="middle">Ring</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 280.2912,381.8594 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,255.6570,297.0488)" stroke="none" text-anchor="middle">Semiring</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 280.2912,309.3659 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,240.8765,225.1564)" stroke="none" text-anchor="middle">Distributive</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 265.5107,237.4735 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,294.0893,154.2100)" stroke="none" text-anchor="middle">Multiplicative</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 318.7235,166.5271 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,316.7527,297.0488)" stroke="none" text-anchor="middle">Subtractive</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 341.3869,309.3659 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,240.8765,154.2100)" stroke="none" text-anchor="middle">Additive</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 265.5107,166.5271 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,347.2991,154.2100)" stroke="none" text-anchor="middle">AbelianGroup</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 371.9333,166.5271 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,381.7870,83.2635)" stroke="none" text-anchor="middle">Invertible</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 406.4211,95.5806 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,222.1545,83.2635)" stroke="none" text-anchor="middle">Commutative</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 246.7887,95.5806 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,328.5771,83.2635)" stroke="none" text-anchor="middle">Associative</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 353.2113,95.5806 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,275.3643,83.2635)" stroke="none" text-anchor="middle">Unital</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 299.9985,95.5806 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" font-size="4.926836478297286px" stroke="rgb(0,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><text dominant-baseline="middle" transform="matrix(1.0000,0.0000,0.0000,1.0000,275.3643,12.3171)" stroke="none" text-anchor="middle">Magma</text></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 299.9985,24.6342 l -0.0000,-24.6342 h -49.2684 l -0.0000,24.6342 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 275.3643,24.6342 l 0.0000,38.3123 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 275.3643,70.9464 l 2.9876,-9.1949 l -2.9876,1.5707 l -2.9876,-1.5707 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 275.3643,63.3222 l -0.0000,-0.3757 l 0.7147,-0.0000 l -0.7147,0.3757 l -0.0000,-0.3757 l -0.7147,0.0000 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 284.6027,24.6342 l 29.9360,39.9124 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 319.3388,70.9464 l -3.1271,-9.1484 l -1.4476,3.0492 l -3.3325,0.5361 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 314.7641,64.8472 l -0.2255,-0.3006 l 0.5718,-0.4288 l -0.3463,0.7294 l -0.2255,-0.3006 l -0.5718,0.4288 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 266.1265,24.6342 l -29.9342,39.9123 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 231.3923,70.9464 l 7.9071,-5.5634 l -3.3325,-0.5360 l -1.4477,-3.0491 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 235.9669,64.8470 l 0.2254,-0.3006 l 0.5718,0.4288 l -0.7972,-0.1282 l 0.2254,-0.3006 l -0.5718,-0.4288 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 293.8405,24.6342 l 62.8139,41.8747 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 363.3108,70.9464 l -5.9935,-7.5862 l -0.3503,3.3571 l -2.9641,1.6146 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 356.9670,66.7174 l -0.3126,-0.2084 l 0.3964,-0.5947 l -0.0838,0.8031 l -0.3126,-0.2084 l -0.3964,0.5947 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 287.8530,95.5806 l 41.2616,40.6947 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 334.8104,141.8929 l -4.4487,-8.5838 l -0.9796,3.2301 l -3.2162,1.0242 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 329.3821,136.5392 l -0.2675,-0.2639 l 0.5019,-0.5089 l -0.2343,0.7727 l -0.2675,-0.2639 l -0.5019,0.5089 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 375.7995,95.5806 l -19.0154,39.1173 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 353.2866,141.8929 l 6.7069,-6.9635 l -3.3737,0.1065 l -2.0003,-2.7188 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 356.6198,135.0359 l 0.1643,-0.3379 l 0.6428,0.3125 l -0.8071,0.0255 l 0.1643,-0.3379 l -0.6428,-0.3125 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 331.8275,95.5806 l 10.1801,38.5771 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 344.0488,141.8929 l 0.5426,-9.6529 l -2.4880,2.2810 l -3.2895,-0.7564 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 342.1034,134.5210 l -0.0959,-0.3633 l 0.6911,-0.1824 l -0.5952,0.5457 l -0.0959,-0.3633 l -0.6911,0.1824 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 243.8810,95.5806 l 74.7322,42.3669 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 325.5726,141.8929 l -6.5255,-7.1337 l -0.1070,3.3736 l -2.8398,1.8244 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 318.9401,138.1328 l -0.3269,-0.1853 l 0.3525,-0.6218 l -0.0256,0.8071 l -0.3269,-0.1853 l -0.3525,0.6218 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 225.4048,95.5806 l 10.1801,38.5771 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 237.6261,141.8929 l 0.5426,-9.6529 l -2.4880,2.2810 l -3.2895,-0.7564 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 235.6808,134.5210 l -0.0959,-0.3633 l 0.6911,-0.1824 l -0.5952,0.5457 l -0.0959,-0.3633 l -0.6911,0.1824 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 269.3769,95.5806 l -19.0154,39.1173 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 246.8640,141.8929 l 6.7069,-6.9635 l -3.3737,0.1065 l -2.0003,-2.7188 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 250.1972,135.0359 l 0.1643,-0.3379 l 0.6428,0.3125 l -0.8071,0.0255 l 0.1643,-0.3379 l -0.6428,-0.3125 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 313.3513,95.5806 l -51.0294,41.2808 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 256.1023,141.8929 l 9.0277,-3.4603 l -3.1002,-1.3349 l -0.6579,-3.3106 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 262.0298,137.0977 l 0.2921,-0.2363 l 0.4495,0.5557 l -0.7416,-0.3193 l 0.2921,-0.2363 l -0.4495,-0.5557 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(255,0,0)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 344.6651,166.5271 l -23.6053,110.3815 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 319.3868,284.7317 l 4.8444,-8.3668 l -3.2500,0.9112 l -2.5931,-2.1607 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(255,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 320.9812,277.2761 l 0.0786,-0.3674 l 0.6989,0.1495 l -0.7775,0.2180 l 0.0786,-0.3674 l -0.6989,-0.1495 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 234.6432,95.5806 l 41.2616,40.6947 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 281.6006,141.8929 l -4.4487,-8.5838 l -0.9796,3.2301 l -3.2162,1.0242 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 276.1723,136.5392 l -0.2675,-0.2639 l 0.5019,-0.5089 l -0.2343,0.7727 l -0.2675,-0.2639 l -0.5019,0.5089 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 278.6152,95.5806 l 10.1817,38.5771 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 290.8384,141.8929 l 0.5422,-9.6529 l -2.4879,2.2811 l -3.2895,-0.7563 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 288.8928,134.5211 l -0.0959,-0.3633 l 0.6911,-0.1824 l -0.5952,0.5457 l -0.0959,-0.3633 l -0.6911,0.1824 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 322.5897,95.5806 l -19.0154,39.1173 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 300.0767,141.8929 l 6.7069,-6.9635 l -3.3737,0.1065 l -2.0003,-2.7188 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 303.4100,135.0359 l 0.1643,-0.3379 l 0.6428,0.3125 l -0.8071,0.0255 l 0.1643,-0.3379 l -0.6428,-0.3125 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 240.8765,166.5271 l 0.0000,38.3123 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 240.8765,212.8393 l 2.9876,-9.1949 l -2.9876,1.5707 l -2.9876,-1.5707 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 240.8765,205.2151 l -0.0000,-0.3757 l 0.7147,-0.0000 l -0.7147,0.3757 l -0.0000,-0.3757 l -0.7147,0.0000 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 273.3685,24.6342 l -29.2166,180.3082 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 242.8723,212.8393 l 4.4199,-8.5987 l -3.2004,1.0726 l -2.6979,-2.0283 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 244.0918,205.3132 l 0.0601,-0.3709 l 0.7055,0.1143 l -0.7656,0.2566 l 0.0601,-0.3709 l -0.7055,-0.1143 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 242.1510,166.5271 l 11.4080,110.2471 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 254.3825,284.7317 l 2.0253,-9.4536 l -2.8101,1.8698 l -3.1334,-1.2548 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 253.5977,277.1480 l -0.0387,-0.3738 l 0.7109,-0.0736 l -0.6722,0.4473 l -0.0387,-0.3738 l -0.7109,0.0736 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 243.4088,237.4735 l 8.1049,39.4221 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 253.1247,284.7317 l 1.0747,-9.6082 l -2.6101,2.1402 l -3.2427,-0.9369 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 251.5893,277.2637 l -0.0757,-0.3681 l 0.7001,-0.1439 l -0.6244,0.5120 l -0.0757,-0.3681 l -0.7001,0.1439 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 306.3722,309.3659 l -35.1792,41.7420 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 266.0375,357.2252 l 8.2100,-5.1057 l -3.2967,-0.7243 l -1.2723,-3.1264 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 270.9509,351.3953 l 0.2421,-0.2873 l 0.5465,0.4606 l -0.7887,-0.1733 l 0.2421,-0.2873 l -0.5465,-0.4606 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 255.6570,309.3659 l 0.0000,39.8593 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 255.6570,357.2252 l 2.9876,-9.1949 l -2.9876,1.5707 l -2.9876,-1.5707 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 255.6570,349.6010 l -0.0000,-0.3757 l 0.7147,-0.0000 l -0.7147,0.3757 l -0.0000,-0.3757 l -0.7147,0.0000 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.5" stroke="rgb(0,0,255)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 222.0192,95.5806 l -3.5830,326.1484 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.3483,429.7285 l 3.0884,-9.1616 l -3.0047,1.5378 l -2.9702,-1.6034 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.5" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,255)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.4321,422.1047 l 0.0041,-0.3757 l 0.7147,0.0079 l -0.7188,0.3679 l 0.0041,-0.3757 l -0.7147,-0.0079 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 249.2959,381.8594 l -21.0508,40.7611 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 224.5741,429.7285 l 6.8737,-6.7988 l -3.3752,0.0247 l -1.9338,-2.7665 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 228.0726,422.9543 l 0.1724,-0.3339 l 0.6350,0.3280 l -0.8074,0.0059 l 0.1724,-0.3339 l -0.6350,-0.3280 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.2130,454.3627 l 0.0000,40.1835 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.2130,502.5462 l 2.9876,-9.1949 l -2.9876,1.5707 l -2.9876,-1.5707 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.2130,494.9219 l -0.0000,-0.3757 l 0.7147,-0.0000 l -0.7147,0.3757 l -0.0000,-0.3757 l -0.7147,0.0000 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="0.0" opacity="0.3" stroke="rgb(84,84,84)" stroke-width="1.4294355539364358" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.2130,527.1804 l 0.0000,40.1854 "/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(0,0,0)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.2130,575.3658 l 2.9876,-9.1949 l -2.9876,1.5707 l -2.9876,-1.5707 Z"/></g><g stroke-linejoin="miter" stroke-opacity="1.0" fill-opacity="1.0" opacity="0.3" stroke="rgb(0,0,0)" stroke-width="0.0" fill="rgb(84,84,84)" stroke-linecap="butt" stroke-miterlimit="10.0"><path d="M 218.2130,567.7416 l -0.0000,-0.3757 l 0.7147,-0.0000 l -0.7147,0.3757 l -0.0000,-0.3757 l -0.7147,0.0000 Z"/></g></svg>
diff --git a/src/NumHask/Algebra/Abstract.hs b/src/NumHask/Algebra/Abstract.hs
--- a/src/NumHask/Algebra/Abstract.hs
+++ b/src/NumHask/Algebra/Abstract.hs
@@ -14,7 +14,6 @@
   , module NumHask.Algebra.Abstract.Module
   , module NumHask.Algebra.Abstract.Action
   , module NumHask.Algebra.Abstract.Lattice
-  , module NumHask.Algebra.Abstract.Homomorphism
   )
 where
 
@@ -26,7 +25,6 @@
 import NumHask.Algebra.Abstract.Module
 import NumHask.Algebra.Abstract.Action
 import NumHask.Algebra.Abstract.Lattice
-import NumHask.Algebra.Abstract.Homomorphism
 
 -- $numMap
 --
diff --git a/src/NumHask/Algebra/Abstract/Additive.hs b/src/NumHask/Algebra/Abstract/Additive.hs
--- a/src/NumHask/Algebra/Abstract/Additive.hs
+++ b/src/NumHask/Algebra/Abstract/Additive.hs
@@ -14,15 +14,29 @@
 import Prelude (Int, Integer, Float, Double, Bool)
 import qualified Prelude as P
 
+-- | For practical reasons, 'Additive' has no super classes. Using `Associative` and 'Unital' from this library, or using 'Semigroup' and 'Monoid' from base tends to complexify the interface once you start having to disinguish between (say) monoidal addition and monoidal multiplication.
+--
+-- > zero + a == a
+-- > a + zero == a
+-- > (a + b) + c == a + (b + c)
+-- > a + b == b + a
+--
+-- By convention, (+) is regarded as commutative, but this is not universal, and the introduction of another symbol which means non-commutative multiplication seems a bit dogmatic.
 class Additive a where
   infixl 6 +
   (+) :: a -> a -> a
 
   zero :: a
 
+-- | Compute the sum of a 'Foldable'.
 sum :: (Additive a, P.Foldable f) => f a -> a
 sum = P.foldr (+) zero
 
+-- |
+-- > a - a = zero
+-- > negate a = zero - a
+-- > negate a + a = zero
+-- > a + negate a = zero
 class (Additive a) => Subtractive a where
   negate :: a -> a
 
diff --git a/src/NumHask/Algebra/Abstract/Field.hs b/src/NumHask/Algebra/Abstract/Field.hs
--- a/src/NumHask/Algebra/Abstract/Field.hs
+++ b/src/NumHask/Algebra/Abstract/Field.hs
@@ -27,11 +27,10 @@
 import qualified Prelude as P
 import Prelude ((.))
 
--- | A <https://en.wikipedia.org/wiki/Field_(mathematics) Field> is an
---   Integral domain in which every non-zero element has a multiplicative
---   inverse.
+-- | A <https://en.wikipedia.org/wiki/Field_(mathematics) Field> is a set
+--   on which addition, subtraction, multiplication, and division are defined. It is also assumed that multiplication is distributive over addition.
 --
--- A summary of the rules inherited from super-classes of Field
+-- A summary of the rules thus inherited from super-classes of Field
 --
 -- > zero + a == a
 -- > a + zero == a
@@ -53,7 +52,7 @@
 -- > recip a = one / a
 -- > recip a * a = one
 -- > a * recip a = one
-class (IntegralDomain a) =>
+class (Distributive a, Subtractive a, Divisive a) =>
       Field a
 
 instance Field P.Double
@@ -156,7 +155,7 @@
 -- > zero / zero != nan
 --
 -- Note the tricky law that, although nan is assigned to zero/zero, they are never-the-less not equal. A committee decided this.
-class (IntegralDomain a) =>
+class (Field a) =>
       UpperBoundedField a where
 
   infinity :: a
@@ -244,5 +243,6 @@
   acosh f = acosh . f
   atanh f = atanh . f
 
+-- | A 'half' is a 'Field' because it requires addition, multiplication and division to be computed.
 half :: (Field a) => a
 half = one / two
diff --git a/src/NumHask/Algebra/Abstract/Homomorphism.hs b/src/NumHask/Algebra/Abstract/Homomorphism.hs
deleted file mode 100644
--- a/src/NumHask/Algebra/Abstract/Homomorphism.hs
+++ /dev/null
@@ -1,43 +0,0 @@
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE UndecidableInstances #-}
-{-# OPTIONS_GHC -Wall #-}
-
--- | The Homomorphism Hierarchy
-module NumHask.Algebra.Abstract.Homomorphism
-  ( Hom(..)
-  , End
-  , Iso
-  , iso
-  , invIso
-  , Automorphism
-  )
-where
-
-import NumHask.Algebra.Abstract.Group
-
--- | A Homomorphism between two magmas
--- law: forall a b. hom(a `magma` b) = hom(a) `magma` hom(b)
-class (Magma a, Magma b) => Hom a b where
-  hom :: a -> b
-
-instance Hom b c => Hom (a -> b) (a -> c) where
-  hom f = hom . f
-
-class (Hom a a) => End a
-instance (Hom a a) => End a
-
--- | A Isomorphism between two magmas
--- an Isomorphism is a bijective Homomorphism
-class (Hom a b, Hom b a) => Iso a b
-
-iso :: Iso a b => a -> b
-iso = hom
-
-invIso :: Iso a b => b -> a
-invIso = hom
-
-instance Iso b c => Iso (a -> b) (a -> c)
-
-class (Iso a a) => Automorphism a
-instance (Iso a a) => Automorphism a
diff --git a/src/NumHask/Algebra/Abstract/Module.hs b/src/NumHask/Algebra/Abstract/Module.hs
--- a/src/NumHask/Algebra/Abstract/Module.hs
+++ b/src/NumHask/Algebra/Abstract/Module.hs
@@ -12,7 +12,7 @@
 import NumHask.Algebra.Abstract.Action
 
 -- | A <https://en.wikipedia.org/wiki/Module_(mathematics) Module> over r a is
---   a (Ring a), an abelian (Group r a) and an scalar-mult. (.*, *.) with the
+--   a (Ring a), an abelian (Group r a) and a scalar multiplier (.*, *.) with the
 --   laws:
 --
 -- > a .* one == a
diff --git a/src/NumHask/Algebra/Abstract/Multiplicative.hs b/src/NumHask/Algebra/Abstract/Multiplicative.hs
--- a/src/NumHask/Algebra/Abstract/Multiplicative.hs
+++ b/src/NumHask/Algebra/Abstract/Multiplicative.hs
@@ -14,6 +14,14 @@
 import Prelude (Int, Integer, Float, Double)
 import qualified Prelude as P
 
+-- | For practical reasons, 'Multiplicative' has no super classes. Using 'Associative' and 'Unital' from this library, or using 'Semigroup' and 'Monoid' from base tends to complexify the interface once you start having to disinguish between (say) monoidal addition and monoidal multiplication.
+--
+-- > one * a == a
+-- > a * one == a
+-- > (a * b) * c == a * (b * c)
+-- > a * b == b * a
+--
+-- By convention, (*) is regarded as commutative, but this is not universal, and the introduction of another symbol which means non-commutative multiplication seems a bit dogmatic.
 class Multiplicative a where
 
   infixl 7 *
@@ -21,9 +29,16 @@
 
   one :: a
 
+-- | Compute the product of a 'Foldable'.
 product :: (Multiplicative a, P.Foldable f) => f a -> a
 product = P.foldr (*) one
 
+-- |
+--
+-- > a / a = one
+-- > recip a = one / a
+-- > recip a * a = one
+-- > a * recip a = one
 class (Multiplicative a) => Divisive a where
   recip :: a -> a
 
@@ -102,4 +117,3 @@
 
 instance Divisive b => Divisive (a -> b) where
   recip f = recip P.. f
-
diff --git a/src/NumHask/Algebra/Abstract/Ring.hs b/src/NumHask/Algebra/Abstract/Ring.hs
--- a/src/NumHask/Algebra/Abstract/Ring.hs
+++ b/src/NumHask/Algebra/Abstract/Ring.hs
@@ -28,6 +28,10 @@
 --
 -- > a * (b + c) == a * b + a * c
 -- > (a * b) * c == a * c + b * c
+-- > zero * a == zero
+-- > a * zero == zero
+--
+-- The sneaking in of the <https://en.wikipedia.org/wiki/Absorbing_element annihilation> laws here glosses over the possibility that the multiplicative zero element does not have to correspond with the additive unital zero.
 class (Additive a, Multiplicative a) =>
   Distributive a
 
@@ -48,27 +52,22 @@
 instance Distributive P.Bool
 instance Distributive b => Distributive (a -> b)
 
--- | A <https://en.wikipedia.org/wiki/Semiring Semiring> is a ring without,
---   necessarily, negative elements.
---
--- FIXME: rule zero' = zero. Is this somehow expressible in haskell?
+-- | A <https://en.wikipedia.org/wiki/Semiring Semiring> is commutative monoidal under addition, has a monoidal multiplication operator (not necessarily commutative), and where multiplication distributes over addition.
 class (Distributive a) =>
   Semiring a where
 instance (Distributive a) =>
   Semiring a
 
 -- | A <https://en.wikipedia.org/wiki/Ring_(mathematics) Ring> is an abelian
---   group under addition and monoid under multiplication where multiplication
---   distributes over addition. Alternatively, a ring is semiring where additive
---   inverses exist
+--   group under addition and monoidal under multiplication, and where multiplication
+--   distributes over addition.
 class (Distributive a, Subtractive a) =>
   Ring a
 instance (Distributive a, Subtractive a) =>
   Ring a
 
 -- | A <https://en.wikipedia.org/wiki/Commutative_ring Commutative Ring> is a
---   ring with a Commutative Multiplication operation. Recall that Addition is
---   Commutative in all Rings
+--   ring with commutative multiplication.
 class (Distributive a, Subtractive a) =>
   CommutativeRing a
 instance (Distributive a, Subtractive a) =>
@@ -78,9 +77,8 @@
 --   generalizes a ring of integers by requiring the product of any two nonzero
 --   elements to be nonzero. This means that if a ≠ 0, an equality ab = ac
 --   implies b = c.
--- FIXME: write a rule for this
 --
-class (Distributive a, Divisive a) =>
+class (Distributive a) =>
   IntegralDomain a
 
 instance IntegralDomain P.Double
@@ -142,5 +140,6 @@
 instance InvolutiveRing Word64
 instance InvolutiveRing b => InvolutiveRing (a -> b)
 
+-- | Defining 'two' requires adding the multiplicative unital to itself.
 two :: (Multiplicative a, Additive a) => a
 two = one + one
diff --git a/src/NumHask/Algebra/Abstract/TensorProduct.hs b/src/NumHask/Algebra/Abstract/TensorProduct.hs
deleted file mode 100644
--- a/src/NumHask/Algebra/Abstract/TensorProduct.hs
+++ /dev/null
@@ -1,81 +0,0 @@
-{-# LANGUAGE PolyKinds #-}
-{-# LANGUAGE TypeFamilies #-}
-{-# LANGUAGE TypeOperators #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-{-# OPTIONS_GHC -Wall #-}
-
--- | TensorProduct
-module NumHask.Algebra.Abstract.TensorProduct
-  ( TensorProduct(..)
-  , TensorProduct'(..)
-  , type (><)
-  ) where
-
-import Data.Int (Int8, Int16, Int32, Int64)
-import Data.Word (Word, Word8, Word16, Word32, Word64)
-import GHC.Natural
-import Prelude (Double, Float, Int, Integer)
-
--- | tensorial type
-type family (><) (a :: k1) (b :: k2) :: *
-
-type instance Int >< Int = Int
-
-type instance Integer >< Integer = Integer
-
-type instance Double >< Double = Double
-
-type instance Float >< Float = Float
-
-type instance Natural >< Natural = Natural
-
-type instance Int8 >< Int8 = Int8
-
-type instance Int16 >< Int16 = Int16
-
-type instance Int32 >< Int32 = Int32
-
-type instance Int64 >< Int64 = Int64
-
-type instance Word >< Word = Word
-
-type instance Word8 >< Word8 = Word8
-
-type instance Word16 >< Word16 = Word16
-
-type instance Word32 >< Word32 = Word32
-
-type instance Word64 >< Word64 = Word64
-
--- | representation synthesis
-type family TensorRep k1 k2 where
-  TensorRep (r a) (r a) = r (r a)
-  TensorRep (r a) (s a) = r (s a)
-  TensorRep (r a) a = r a
-
-type instance r a >< b = TensorRep (r a) b
-
--- | generalised outer product
---
--- > a><b + c><b == (a+c) >< b
--- > a><b + a><c == a >< (b+c)
--- > a *. (b><c) == (a><b) .* c
--- > (a><b) .* c == a *. (b><c)
-class TensorProduct a where
-  infix 8 ><
-  (><) :: a -> a -> (a >< a)
-  outer :: a -> a -> (a >< a)
-  outer = (><)
-  timesleft :: a -> (a >< a) -> a
-  timesright :: (a >< a) -> a -> a
-
--- | generalised outer product
---
--- > a><b + c><b == (a+c) >< b
--- > a><b + a><c == a >< (b+c)
--- > a *. (b><c) == (a><b) .* c
--- > (a><b) .* c == a *. (b><c)
-class TensorProduct' a b where
-  outer' :: a -> b -> (a >< b)
-  timesleft' :: a -> (a >< b) -> b
-  timesright' :: (a >< b) -> a -> b
diff --git a/src/NumHask/Algebra/Linear/Hadamard.hs b/src/NumHask/Algebra/Linear/Hadamard.hs
--- a/src/NumHask/Algebra/Linear/Hadamard.hs
+++ b/src/NumHask/Algebra/Linear/Hadamard.hs
@@ -1,7 +1,6 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
-{-# LANGUAGE TypeApplications #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# OPTIONS_GHC -Wall #-}
 
@@ -14,7 +13,6 @@
 where
 
 import NumHask.Algebra.Abstract.Multiplicative
-import Data.Coerce
 
 -- | element by element multiplication
 --
@@ -26,7 +24,6 @@
   HadamardMultiplication m a where
   infixl 7 .*.
   (.*.) :: m a -> m a -> m a
-  -- (.*.) = coerce ((.*.) @m @a)
 
 
 -- | element by element division
@@ -36,7 +33,6 @@
   HadamardDivision m a where
   infixl 7 ./.
   (./.) :: m a -> m a -> m a
-  (./.) = coerce ((./.) @m @a)
 
 class (HadamardMultiplication m a, HadamardDivision m a) => Hadamard m a
 instance (HadamardMultiplication m a, HadamardDivision m a) => Hadamard m a
diff --git a/src/NumHask/Analysis/Banach.hs b/src/NumHask/Analysis/Banach.hs
deleted file mode 100644
--- a/src/NumHask/Analysis/Banach.hs
+++ /dev/null
@@ -1,38 +0,0 @@
-{-# LANGUAGE FlexibleContexts #-}
-{-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-{-# OPTIONS_GHC -Wall #-}
-
--- | Metric classes
-module NumHask.Analysis.Banach
-  ( Banach(..)
-  , Hilbert(..)
-  )
-where
-
-import NumHask.Algebra.Abstract.Action
-import NumHask.Algebra.Abstract.Ring
-import NumHask.Algebra.Abstract.Field
-import NumHask.Analysis.Metric
-
--- | Banach (with Norm) laws form rules around size and direction of a number, with a potential crossing into another codomain.
---
--- > a == singleton zero || normalizeL2 a *. normL2 a == a
-class (ExpField (Actor h), Normed h (Actor h), DivisiveAction h) =>
-  Banach h where
-  normalizeL1 :: h -> h
-  normalizeL1 a = a ./ normL1 a 
-
-  normalizeL2 :: h -> h
-  normalizeL2 a = a ./ normL2 a
-
--- | the inner product: a distributive fold
---
--- > a <.> b == b <.> a
--- > a <.> (b +c) == a <.> b + a <.> c
--- > a <.> (s *. b + c) == s * (a <.> b) + a <.> c
--- (s0 *. a) <.> (s1 *. b) == s0 * s1 * (a <.> b)
-class (Distributive (Actor h)) =>
-  Hilbert h where
-  infix 8 <.>
-  (<.>) :: h -> h -> Actor h
diff --git a/src/NumHask/Analysis/Metric.hs b/src/NumHask/Analysis/Metric.hs
--- a/src/NumHask/Analysis/Metric.hs
+++ b/src/NumHask/Analysis/Metric.hs
@@ -27,7 +27,7 @@
 import NumHask.Algebra.Abstract.Multiplicative
 import NumHask.Algebra.Abstract.Lattice
 
--- | 'signum' from base is not an operator replicated in numhask, being such a very silly name, and preferred is the much more obvious 'sign'.  Compare with 'Norm' and 'Banach' where there is a change in codomain
+-- | 'signum' from base is not an operator replicated in numhask, being such a very silly name, and preferred is the much more obvious 'sign'.  Compare with 'Norm' where there is a change in codomain
 --
 -- > abs a * sign a == a
 --
diff --git a/src/NumHask/Data/LogField.hs b/src/NumHask/Data/LogField.hs
--- a/src/NumHask/Data/LogField.hs
+++ b/src/NumHask/Data/LogField.hs
@@ -160,7 +160,7 @@
 {-# INLINE [0] log1p #-}
 log1p x = log (one + x)
 
-expm1 :: (ExpField a, Subtractive a) => a -> a
+expm1 :: (ExpField a) => a -> a
 {-# INLINE [0] expm1 #-}
 expm1 x = exp x - one
 
@@ -230,7 +230,7 @@
   nearZero (LogField x) = nearZero $ exp x
   aboutEqual (LogField x) (LogField y) = aboutEqual (exp x) (exp y)
 
-instance (Ord a, ExpField a, LowerBoundedField a) => Field (LogField a)
+instance (Ord a, ExpField a, LowerBoundedField a, UpperBoundedField a) => Field (LogField a)
 
 instance (Ord a, ExpField a, LowerBoundedField a, UpperBoundedField a) =>
   LowerBoundedField (LogField a)
@@ -281,7 +281,7 @@
 -- it is not amenable to list fusion, and hence will use a lot of
 -- memory when summing long lists.
 {-# INLINE accurateSum #-}
-accurateSum :: (ExpField a, Subtractive a, Foldable f, Ord a) => f (LogField a) -> LogField a
+accurateSum :: (ExpField a, Foldable f, Ord a) => f (LogField a) -> LogField a
 accurateSum xs = LogField (theMax + log theSum)
  where
   LogField theMax = maximum xs
@@ -295,7 +295,7 @@
 --
 -- > LogField . accurateProduct == accurateProduct . map LogField
 {-# INLINE accurateProduct #-}
-accurateProduct :: (ExpField a, Subtractive a, Foldable f) => f (LogField a) -> LogField a
+accurateProduct :: (ExpField a, Foldable f) => f (LogField a) -> LogField a
 accurateProduct = LogField . fst . F.foldr kahanPlus (zero, zero)
  where
   kahanPlus (LogField x) (t, c) =
diff --git a/src/NumHask/Data/Positive.hs b/src/NumHask/Data/Positive.hs
--- a/src/NumHask/Data/Positive.hs
+++ b/src/NumHask/Data/Positive.hs
@@ -63,11 +63,11 @@
   QuotientField (Positive a) (Positive P.Integer) where
   properFraction (Positive a) = let (i,r) = properFraction a in (Positive i, Positive r)
 
-instance (UpperBoundedField a) =>
+instance (P.Ord a, UpperBoundedField a) =>
   UpperBoundedField (Positive a) where
   infinity = Positive infinity
 
-instance (UpperBoundedField a) => P.Bounded (Positive a) where
+instance (P.Ord a, UpperBoundedField a) => P.Bounded (Positive a) where
   minBound = zero
   maxBound = infinity
 
