taking full advantages of the Nominal typeclass
faster Nominal Box
making mapOnPath a primitive
mapOnPath is not a primitive anymore