{"body":"import options\n\nproc mBind[T](o: Option[T], f: proc (value: T): T): Option[T] =\n  if o.isSome:\n    some f(o.get())\n  else:\n    none T\n\nproc addOne(x: int): int = x + 1\n\nlet\n  firstMaybe = some 1\n  afterBind = firstMaybe.mBind(addOne)\n\nassert afterBind.get == 2\n\nlet\n  nothingMaybe = none int\n  nothingAfterBind = nothingMaybe.mBind(addOne)\n\nassert nothingAfterBind == none int","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/aB77rjui","modified":1505837699,"id":"aB77rjui","size":376,"lines":21,"own_paste":false,"theme":"","date":1505837699}