Usando 'return' em um bloco Ruby

Estou tentando usar o Ruby 1.9.1 para uma linguagem de script incorporada, para que o código do "usuário final" seja gravado em um bloco Ruby. Um problema é que eu gostaria que os usuários pudessem usar a palavra-chave 'return' nos blocos, para que não precisassem se preocupar com valores de retorno implícitos. Com isso em mente, este é o tipo de coisa que eu gostaria de poder fazer:

def thing(*args, &block)
  value = block.call
  puts "value=#{value}"
end

thing {
  return 6 * 7
}

Se eu usar 'return' no exemplo acima, recebo um LocalJumpError. Estou ciente de que isso ocorre porque o bloco em questão é um Proc e não um lambda. O código funciona se eu remover 'return', mas eu realmente preferiria poder usar 'return' nesse cenário. Isso é possível? Eu tentei converter o bloco em um lambda, mas o resultado é o mesmo.

questionAnswers(7)

yourAnswerToTheQuestion