data Ġclass ĠPosition ( val Ġx : ĠInt , Ġval Ġy : ĠInt ) Ġ{ ĊĊĠĠĠ Ġfun Ġadvance ( be aring : ĠBear ing ) Ġ= Ġwhen Ġ( be aring ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBear ing . NORTH Ġ-> Ġdelta Y (- 1 ) ĊĠĠĠĠĠĠĠ ĠBear ing . EAST Ġ-> Ġdelta X ( 1 ) ĊĠĠĠĠĠĠĠ ĠBear ing . SO UTH Ġ-> Ġdelta Y ( 1 ) ĊĠĠĠĠĠĠĠ ĠBear ing . WEST Ġ-> Ġdelta X (- 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdelta Y ( delta : ĠInt ) Ġ= ĠPosition ( x , Ġy Ġ+ Ġdelta ) ĊĠĠĠ Ġprivate Ġfun Ġdelta X ( delta : ĠInt ) Ġ= ĠPosition ( x Ġ+ Ġdelta , Ġy ) Ċ }