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