   inspect: -> "Some(" + @value + ")"
   toString: -> @inspect()
 
-None =
+None = {
   getOrElse: (value) -> value
   filter: -> None
   map: -> None


Bacon._ = _

Bacon.scheduler =
  setTimeout: (f,d) -> setTimeout(f,d)
  setInterval: (f, i) -> setInterval(f, i)
  clearInterval: (id) -> clearInterval(id)
  now: -> new Date().getTime()

if define? and define.amd?
  define [], -> Bacon


  withDescription(Bacon, "retry", options, source().flatMapError (e) ->
    if isRetryable(e) and retries > 0
      retry({error: e, retriesDone: maxRetries - retries})
    else
      Bacon.once(new Error(e)))

