 # or vanilla.
 exports.Value = class Value extends Base
   constructor: (base, props, tag) ->
+    super()
     return base if not props and base instanceof Value
     @base       = base
     @properties = props or []

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

  children: ['expression']

    answer.push @makeCode ";"
    return answer

  icedCompileIced : (o) ->
    cb = new Value new Literal iced.const.autocb
    args = if @expression then [ @expression ] else []
    call = new Call cb, args
    ret = new Literal "return"
    block = new Block [ call, ret];
    block.compileNode o

#### Value

