e npcLookup name of
  "dai"    -> Right $ r {dai = newIndex n}
  "kaour"  -> Right $ r {kaour = newIndex n}
  "elsie"  -> Right $ r {elsie = newIndex n}
  "eirlys" -> Right $ r {eirlys = newIndex n}
  s        -> Left $ "'" ++ s ++ "' could not be found."
  where n     = string2int pos

set (name:pos:_) r = case npcLookup name of
  "dai"    -> Right $ r {dai = newIndex n}
  "kaour"  -> Right $ r {kaour = newIndex n}
  "elsie"  -> Right $ r {elsie = newIndex n}
  "eirlys" -> Right $ r {eirlys = newIndex n}
  s        -> Left $ "'" ++ s ++ "' could not be found."
  where n     = string2int pos
set (name:pos:_) r = case npcLookup name of
  "dai"    -> Right $ r {dai = newIndex n}
  "kaour"  -> Right $ r {kaour = newIndex n}
  "elsie"  -> Right $ r {elsie = newIndex n}
  "eirlys" -> Right $ r {eirlys = newIndex n}
  s        -> Left $ "'" ++ s ++ "' could not be found."
  where n     = string2int pos