`procedure` should be `function` in builder template