     this
 
   compile_node: (o) ->
+    o.chain_root.wrapped: or @soak_node
     proto_part: if @prototype then 'prototype.' else ''
     ".$proto_part${@name.compile(o)}"
 


  # Compile a vanilla function call.
  compile_node: (o) ->
    for arg in @args
      return @compile_splat(o) if arg instanceof SplatNode
    args: (arg.compile(o) for arg in @args).join(', ')
    return @compile_super(args, o) if @is_super
    "${@prefix()}${@variable.compile(o)}($args)"

  # `super()` is converted into a call against the superclass's implementation
  # of the current function.

    @soak_node: tag is 'soak'

  compile_node: (o) ->
    o.chain_root.wrapped: @soak_node
    idx: @index.compile o
    "[$idx]"

