even more partial function optimization