docs: function defaults(defs,opts) {
    if (!opts)
      opts = {}
    if (opts.context == null)
      opts.context = true;
    if (opts.coerce == null)
      opts.coerce = true;
    completeMonad(defs);
    if (opts.control === "token")
      defs = M.addControlByToken(defs);
    if (opts.wrap)
      defs = M.wrap(defs,opts.wrap);
    if (opts.coerce)
      defs = M.addCoerce(defs);
    if (opts.context)
      defs = M.addContext(defs, opts.context === "run");
    if (opts.wrap)
      M.completePrototype(defs,opts.wrap.prototype);
    return defs;
  }