Duplicating functions with local variables is very flaky

Duplicating functions is not very robust.

If you create a function in blueprint A that has a local variable that is a pointer to another blueprint localB and use that variable to access member functions e.g.

localB → foo()

it seems to get very confused.