code: function(module, exports, __webpack_require__) {
  
  	var _curry2 = /*#__PURE__*/__webpack_require__(1);
  	
  	var map = /*#__PURE__*/__webpack_require__(9);
  	
  	/**
  	 * Returns a lens for the given getter and setter functions. The getter "gets"
  	 * the value of the focus; the setter "sets" the value of the focus. The setter
  	 * should not mutate the data structure.
  	 *
  	 * @func
  	 * @memberOf R
  	 * @since v0.8.0
  	 * @category Object
  	 * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s
  	 * @sig (s -> a) -> ((a, s) -> s) -> Lens s a
  	 * @param {Function} getter
  	 * @param {Function} setter
  	 * @return {Lens}
  	 * @see R.view, R.set, R.over, R.lensIndex, R.lensProp
  	 * @example
  	 *
  	 *      var xLens = R.lens(R.prop('x'), R.assoc('x'));
  	 *
  	 *      R.view(xLens, {x: 1, y: 2});            //=> 1
  	 *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}
  	 *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}
  	 */
  	
  	
  	var lens = /*#__PURE__*/_curry2(function lens(getter, setter) {
  	  return function (toFunctorFn) {
  	    return function (target) {
  	      return map(function (focus) {
  	        return setter(focus, target);
  	      }, toFunctorFn(getter(target)));
  	    };
  	  };
  	});
  	module.exports = lens;
  
  /***/ }
docs: /* 38