If you suspected "the right thing" you'd probably be right: irb(main):001:0> require 'lazy' irb(main):002:0> x = promise { 5 + 3 } => #<Lazy::Promise computation=#<Proc:0x0035788c@(irb):2>> irb(main):003:0> p 3 * x 24 => nil