You can store non-integer variables in scoreboard, or another purpose-built variable storage mechanism (using /setvar @p KEY COMMAND or /scoreboard players set @p KEY COMMAND)
You can input said variables into commands, such as /tp @p.location or /setblock (@p.location + (0, -1, 0)) @p.lastPlacedBlock where @p.location and @p.lastPlacedBlock would be whatever variable you stored in the storage mechanism with that key.
More commands return things. For example, tp can return a table with the player, teleport position, original position, and setblock can return the block.
It would add quite a lot to the tools mapmakers can use