Use proc#call instead of yield for better testing