Moved functor to sound
fixed unsafe ref counting in lenses