Ah right. Here's another way to do it...

You can call `start` on the coffee REPL which returns a configured instance of Node's REPL. That instance has a `eval` property that you can then monkey patch to wrap it in fibrous. We do this in our own apps at Good Eggs with a custom REPL that we use as a console to our running apps. Something like:

```
fibrous = require 'fibrous'
coffeeRepl = require 'coffee-script/lib/coffee-script/repl'

# Note: this repl implementation uses CoffeeScript's REPL which extends node's REPL
# Start coffee REPL with some customization:
module.exports =
  start: (opts = {}) ->
    opts.prompt = 'fibrous> ' if opts.fibrous
    repl = coffeeRepl.start(opts)

    # Monkey patch to wrap eval in a fiber
    if opts.fibrous
      evalWithoutFibrous = repl.eval
      evalWithFibrous = fibrous (input, context, filename) ->
        evalWithoutFibrous.sync(input, context, filename)
      repl.eval = evalWithFibrous.bind(repl)

    repl
```

Interesting to me that with fibrous I write a lot less multi-line coffeescript since I'm not writing callbacks in the REPL. Probably why