anchor.diff:                    LatLong = LatLong.FromUTM (station?Easting.AsInteger()) (station?Northing.AsInteger()) })
               |> Seq.toList
   
  -        stationsByCode := 
  +        let stationsByCode =
               allStations 
               |> Seq.map (fun station -> station.Code, station) 
               |> dict 
  -            |> Some
  +
  +        stationInfo := Some (allStations, stationsByCode)
  +        allStations, stationsByCode
  +
  +    | Some stationInfo -> stationInfo
  +
  +let getNearestStations currentLocation limit = 
  +    
  +    async {
  +
  +        let allStations, _ = getStationInfo()
   
           let nearestStations =
               allStations
  
positive.code: open FSharp.GeoUtils
  open FSharp.Net
  
  let private stationsByCode = ref None
  
  let getNearestStations currentLocation limit =
  
      async {
  
          let allStations = 
              //from http://www.data.gov.uk/dataset/naptan
  
negative.code:     } |> LazyAsync.fromAsync
  
  let getStation stationCode =
      let _, stationsByCode = getStationInfo()
      stationsByCode.[stationCode]
  
  let getDepartures toStation fromStation =
  
  