Functor package:dimensional

Provides a Functor instance for Dimensional. Note that this instance is dubious, because it allows you to break the dimensional abstraction. See dmap for more information. Note that, while this instance overlaps with that given for Dimensionless, it is confluent with that instance. Note that this is an orphan instance.
A type f is a Functor if it provides a function fmap which, given any types a and b lets you apply any function from (a -> b) to turn an f a into an f b, preserving the structure of f. Furthermore f needs to adhere to the following: Note, that the second law follows from the free theorem of the type fmap and the first law, so you need only check that the former condition holds. See https://www.schoolofhaskell.com/user/edwardk/snippets/fmap or https://github.com/quchen/articles/blob/master/second_functor_law.md for an explanation.