def METHOD_NAME(node: ast.FunctionDef) -> Dict[str, str]:
    """Extract defaults from function definition node literally, as pieces of source code"""
    defaults: List[ast.expr] = []
    if node.args.defaults:
        defaults.extend(node.args.defaults)
    if node.args.kw_defaults:
        defaults.extend(node.args.kw_defaults)
    args: List[ast.arg] = []
    if node.args.posonlyargs:
        args.extend(node.args.posonlyargs)
    if node.args.args:
        args.extend(node.args.args)
    if node.args.kwonlyargs:
        args.extend(node.args.kwonlyargs)
    # zip args and defaults
    literal_defaults: Dict[str, str] = {}
    for arg, default in zip(reversed(args), reversed(defaults)):
        if default:
            literal_defaults[str(arg.arg)] = astunparse.unparse(default).strip()
    return literal_defaults