Hmm, the way that would make sense for me is:

1. If my selection includes the start of an existing function, and covers only part of the existing function, the previous function should now be clipped (e.g. start where the new one ends.)
2. If my selection includes the end of an existing function, and covers only part of that function, the previous function should now be clipped (e.g. it should now end where the new one starts.)
3. If my selection includes an existing function, but does not extend to the start or end, only the first part of the function should be retained.  The latter part of it (after my selection) should no longer be in any symbol.
4. If my selection includes an entire function, it should be deleted before my new one is created.
5. If my selection includes multiple functions, the above rules should apply to each one.

I think the size would be 4 by default (with no range), since it's bytes right?

-[Unknown]