Commit before rewriting to make all functions Middle objects.