Too bad this doesn't work:
struct Player
{
MapTile[] playerMap; // partial private knowledge of map
Location destination;
auto tile(Location loc)
{
return playerMap[loc];
}
void foo()
{
if(destination.tile.hasMonster)
...
}
}