Remove duplicate instances

- Functor First etc moved to semigroups

Fixes #3