anchor.diff:      } |> LazyAsync.fromAsync
   
   let getStation stationCode =
  -    (!stationsByCode).Value.[stationCode]
  +    let _, stationsByCode = getStationInfo()
  +    stationsByCode.[stationCode]
   
   let getDepartures toStation fromStation =
   
  
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:                   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
  