rewrote Effects to use Lenses, fixed resulting errors