CodeTools::AST << {

BlockLiteral < Node {
  node_type blklit
  field block

  implementation_receiver: ConstantAccess.new(
    line:     self.line
    toplevel: true
    names:    [:Ruby, :Proc]
  )

  implementation: Invoke.new(
    line:         self.line
    receiver:     self.implementation_receiver
    name:         (:new)
    block:        self.block
  )

  bytecode: |g| implementation.bytecode(g)
}

}