tiny comment style change.
changed to use DeriveFunctor extension.  Now, functor instance is automatically derived.
Revert "added monad transformer instance. Not tested."

This reverts commit 29c52895b7f55cd90c11225fa9bd7ff48225f0da.
refined comment of faceted value.
Redefine Faceted by using Free monad.