compassText :: Vector -> Text
compassText v = let m = EM.fromList $ zip moves moveTexts
                    assFail = assert `failure` "not a unit vector" `twith` v
                in EM.findWithDefault assFail v m
compassText :: Vector -> Text
compassText v = let m = EM.fromList $ zip moves moveTexts
                    assFail = assert `failure` "not a unit vector" `twith` v
                in EM.findWithDefault assFail v m
compassText v = let m = EM.fromList $ zip moves moveTexts
                    assFail = assert `failure` "not a unit vector" `twith` v
                in EM.findWithDefault assFail v m