Shouldn't the last arg be a fn? Am I missing some usage of this?