for( var/atom/o in view() )
var/icon/a = o.icon
if( isnull( a ) ) world << "NULL"
a.Shift( NORTH, 10 )

Problem description:

When I use this verb, I get the following runtime error:
- - -
runtime error: Cannot execute null.Shift().
proc name: TEST (/mob/Player/verb/TEST)
usr: Lethal Dragon (/mob/Player)
src: Lethal Dragon (/mob/Player)
call stack:
Lethal Dragon (/mob/Player): TEST()
- - -
So a is null when the bottommost line is executed? Odd, because the line just above it should output NULL to the world just before the crash; it does not. Can anyone explain this?
The error says null.Shift(), but actually it has a value. The value just isn't an /icon object. You need to use new() or icon() to actually create one.