     if expr and expr not instanceof Return then expr.compileToFragments o, level else super o, level
 
   compileNode: (o) ->
+    return @icedCompileIced o if @icedHasAutocbFlag
+
     answer = []
     # TODO: If we call expression.compile() here twice, we'll sometimes get back different results!
     answer.push @makeCode(@tab + "return#{[" " if @expression]}")

    return this

  children: ['base', 'properties']

  # Add a property (or *properties* ) `Access` to the list.
  add: (props) ->

# A `return` is a *pureStatement* -- wrapping it in a closure wouldn't
# make sense.
exports.Return = class Return extends Base
  constructor: (expr, auto) ->
    super()
    @icedHasAutocbFlag = auto
    @expression = expr if expr and not expr.unwrap().isUndefined

  children: ['expression']
