UnitPositionSet is problematic because the unit can be interacting with the world in many different ways when you call that command. Some examples:
- An enemy group has been ordered to attack it, should they follow the unit to the new position? What if the unit is moved somewhere they can't access?
- The unit could be in combat, after moving it will still be in combat but now the enemy will be somewhere else, and crashes will ensue.
- The unit is a serf delivering something, now it's moved off road and can't keep delivering. If it can no longer access the destination then the job needs to be given to some other serf?
...and there are lots more cases like this. Of course we can write code to handle each one of these when you call UnitPositionSet, but that's a massive amount of work and not really possible to maintain, since we'll need to keep it up to date with any changes to many other parts of the code like fighting, delivering, etc. If we do implement UnitPositionSet (or HousePositionSet) we will probably make it kill the unit and create a new one at the new location to avoid these issues. We can then copy over relevant stuff like condition, hitpoints, hotkeys, whether the player has it selected, etc. Would that still be useful?
HouseSubtractWaresTo has similar issues, if a serf is on the way to collect one of those resources, what happens? The serf will arrive, try to take the resource, and the game will crash. However, we can tell how many resources have been claimed by serfs and how many are free to be taken, so we could implement HouseSubtractWaresTo to return an Integer of the number of wares that were successfully subtracted (for example you ask it to subtract 5, but 2 are claimed by serfs coming to delver them so only 3 wares are subtracted and HouseSubtractWaresTo returns 3). People might complain that this is confusing and annoying though... What do you think?
SelectUnitForPlayer isn't a problem to implement, although as has been said it could be very annoying for the player

I don't really think it solves the RPG teleport problem because I might not have the unit selected when it teleports, and it would be annoying if I was doing something else and the unit becomes selected.