Fix missing guard statement
Fix a bug that add duplicated :key-info
Fix wrong :key-info when registering clone key
Get args from the function instead of keys variable