seems that proc{} is less tolerant than Proc.new{}