(function(modules) { var cache = {}, require = function(id) { var module = cache[id]; if (!module) { module = cache[id] = {}; var exports = module.exports = {}; modules[id].call(exports, require, module, exports, window); } return module.exports; }; window["Monad"] = require("0"); })({ "0": function(require, module, exports, global) { function Monad(value) { if (value instanceof Monad) return value; this.value = function() { return value; }; } Monad.prototype.bind = function(f) { var value = this.value(); if (f === Monad || value === null || value === undefined) return this; if (typeof f === "function") return new Monad(f(value)); return this; }; module.exports = Monad; } });