better argument key type handling, fixed tests