Add `Extend` and `Semigroup` instances.
Merge pull request #5 from joneshf/master

Add `Extend` and `Semigroup` instances.