def optional(deco):
@functools.wraps(deco)<EOL>def dispatcher(*args, **kwargs):<EOL><INDENT>decorator = deco(**kwargs)<EOL>if args:<EOL><INDENT>assert len(args) == <NUM_LIT:1><EOL>return decorator(args[<NUM_LIT:0>])<EOL><DEDENT>else:<EOL><INDENT>return decorator<EOL><DEDENT><DEDENT>return dispatcher<EOL>
decorator option은 kwargs만 허용
:param deco:
:return: