How to add an inset to a plot

Hi,
I wonder if it is possible to make an inset from a plot I already produced somewhere else.
It is not uncommon to have functions like this:

function make_my_plots(data)
    #do things 
    data .+ 1
    return plot(data)
end

function make_my_plots(data)
    #do things 
    myplot=plot()
## these are complex commands that do not fit in a single command
    plot!(data .+1)
    plot!(data .^2)
    return myplot
end

myplot= make_my_plot([1,2])
another_plot = plot([3,4], subplot=2)

## and something like this!
plot(my_plot, inset=another_plot)

Thanks!