There are four different but entwined subjects being discussed here that are maybe not so obvious.
1. Whether you specify the id, or the id is given to you.
CreateSprite(player, playerTexture)
or
player = CreateSprite(playerTexture)
2. If the id is given to you, whether that id is an integer, or has it's own type.
player as integer
player = CreateSprite(PlayerTexture)
PositionSprite(player, 10, 10)
or
player as sprite
player = CreateSprite(PlayerTexture)
PositionSprite(player, 10, 10)
3. Whether these handles, when given their own type, should have common commands.
player as object
cam as camera
SetPosition(player, 10, 10, 10)
SetPosition(cam, 100, 100, 100)
4. Whether these handles with common commands should have some sort of special syntax.
player as object
player.SetPosition(10, 10)
5. Whether these handles have properties attached
player as sprite
player = CreateSprite()
player.image = LoadImage("x.bmp")
My opinion:
1 - id given to you
2 - id has non-integer type
3 - no common commands - confusing for a simple language
4 & 5 - no special 'OO'-like syntax - confusing for a simple language
There have also been discussions on other posts about any special properties that handles should have - I believe now that they should be dumb and have no properties except for assignment of 0, and assignment from another handle of the same type.
If something like 3, 4 & 5 are really needed by someone, then you can either write a translator, or use tier 2 (being able to write a translator was one of the things I was thinking of when the suggestion was made to simplify and standardize the syntax).