Refactor Lens as a particular case of traversal, generate settter, traversal and lens properties and remove syntax package