 
 /**
   Timing-related utility based on mach_absolute_time().
+  It seems correct on Mac OS X. It might not be on iOS.
 */
 
 public struct Time: CustomStringConvertible

    return t * Int64(Time.scale.numer)/Int64(Time.scale.denom)
  }

  public var absoluteTime: CFAbsoluteTime
  {
      return Double(self.nanoseconds)*1e-9 + Time.offset
  }
  
  public var description: String
  {
    return NSDate(timeIntervalSinceReferenceDate: absoluteTime).description
  }
}

extension Time
{
  public static func Now() -> Time { return Time() }

  /**
    Time.Since(t: Time) returns an Interval.
    example:
    let starttime = Time()
    println(Time.Since(starttime))
  */

  public static func Since(tic: Time) -> Interval
  {
    return tic.toc
  }
}



public struct Interval: CustomStringConvertible
{
  let ns: Int64

  init(_ nanoseconds: Int64)
  {
