   # A catch clause names its error and runs a block of code.
   Catch: [
     o 'CATCH Identifier Block',                 -> [$2, $3]
-    o 'CATCH Object Block',                     -> [Value.create($2), $3]
+    o 'CATCH Object Block',                     -> [Value.wrap($2), $3]
   ]
 
   # Throw an exception object.


  # A reference to the *this* current object.
  This: [
    o 'THIS',                                   -> Value.create new Literal 'this'
    o '@',                                      -> Value.create new Literal 'this'
  ]

  # A reference to a property on *this*.
  ThisProperty: [
    o '@ Identifier',                           -> Value.create new Literal('this'), [new Access($2)], 'this'
  ]

  # The array literal.

  # Assignment when it happens within an object literal. The difference from
  # the ordinary **Assign** is that these allow numbers and strings as keys.
  AssignObj: [
    o 'ObjAssignable',                          -> Value.wrap $1
    o 'ObjAssignable : Expression',             -> new Assign Value.wrap($1), $3, 'object'
    o 'ObjAssignable :
       INDENT Expression OUTDENT',              -> new Assign Value.wrap($1), $4, 'object'
    o 'Comment'
  ]

