The correct answer to this problem is a function, not a function up to a constant

This fixes the bug mentioned in the commit message