old_contents: var distance = require('turf-distance');
  var point = require('turf-point');
  var bearing = require('turf-bearing');
  var destination = require('turf-destination');
  
  /**
   * Takes a {@link LineString} feature and returns a {@link Point} feature at a specified distance along a line.
   *
   * @module turf/along
   * @param {LineString} line a LineString feature
   * @param {Number} distance distance along the line
   * @param {String} [units=miles] can be degrees, radians, miles, or kilometers
   * @return {Point} Point along the line at `distance` distance
   * @example
   * var line = turf.linestring([
   *  [-77.031669, 38.878605],
   *  [-77.029609, 38.881946],
   *  [-77.020339, 38.884084],
   *  [-77.025661, 38.885821],
   *  [-77.021884, 38.889563],
   *  [-77.019824, 38.892368]
   * ]);
   *
   * var along = turf.along(line, 1, 'miles');
   *
   * //=along
   */
  module.exports = function (line, dist, units) {
    var coords;
    if(line.type === 'Feature') coords = line.geometry.coordinates;
    else if(line.type === 'LineString') coords = line.geometry.coordinates;
    else throw new Error('input must be a LineString Feature or Geometry');
  
    var travelled = 0;
    for(var i = 0; i < coords.length; i++) {
      if (dist >= travelled && i === coords.length - 1) break;
      else if(travelled >= dist) {
        var overshot = dist - travelled;
        if(!overshot) return point(coords[i]);
        else {
          var direction = bearing(point(coords[i]), point(coords[i-1])) - 180;
          var interpolated = destination(point(coords[i]), overshot, direction, units);
          return interpolated;
        }
      }
      else {
        travelled += distance(point(coords[i]), point(coords[i+1]), units);
      }
    }
    return point(coords[coords.length - 1]);
  }
  
new_contents: var distance = require('turf-distance');
  var point = require('turf-point');
  var bearing = require('turf-bearing');
  var destination = require('turf-destination');
  
  /**
   * Takes a {@link LineString} feature and returns a {@link Point} feature at a specified distance along a line.
   *
   * @module turf/along
   * @param {LineString} line a LineString feature
   * @param {Number} distance distance along the line
   * @param {String} [units=miles] can be degrees, radians, miles, or kilometers
   * @return {Point} Point along the line at `distance` distance
   * @example
   * var line = {
   *   "type": "Feature",
   *   "properties": {},
   *   "geometry": {
   *     "type": "LineString",
   *     "coordinates": [
   *       [-77.031669, 38.878605],
   *       [-77.029609, 38.881946],
   *       [-77.020339, 38.884084],
   *       [-77.025661, 38.885821],
   *       [-77.021884, 38.889563],
   *       [-77.019824, 38.892368]
   *     ]
   *   }
   * };
   *
   * var along = turf.along(line, 1, 'miles');
   *
   * var result = {
   *   "type": "FeatureCollection",
   *   "features": [line, along]
   * };
   *
   * //=result
   */
  module.exports = function (line, dist, units) {
    var coords;
    if(line.type === 'Feature') coords = line.geometry.coordinates;
    else if(line.type === 'LineString') coords = line.geometry.coordinates;
    else throw new Error('input must be a LineString Feature or Geometry');
  
    var travelled = 0;
    for(var i = 0; i < coords.length; i++) {
      if (dist >= travelled && i === coords.length - 1) break;
      else if(travelled >= dist) {
        var overshot = dist - travelled;
        if(!overshot) return point(coords[i]);
        else {
          var direction = bearing(point(coords[i]), point(coords[i-1])) - 180;
          var interpolated = destination(point(coords[i]), overshot, direction, units);
          return interpolated;
        }
      }
      else {
        travelled += distance(point(coords[i]), point(coords[i+1]), units);
      }
    }
    return point(coords[coords.length - 1]);
  }
  
subject: Switch example to geojson primitives