   }
 }
 
-public func word(_ value: String) -> HeterogeneousParser<Character, String> {
+public func word(_ value: String) -> LexicalParser {
   let wordParser = letter+ ^^ { String($0) }
 
   return { source in

import SwiftExt

// TODO: replace HeterogeneousParser references below with this typealias
// once Xcode 8.2, which fixes  https://bugs.swift.org/browse/SR-3640 has 
// been released.
//
// typealias LexicalParser = HeterogeneousParser<Character, String>

public func whitespace<T>(token: T) -> HeterogeneousParser<Character, T> {
  let parser = whitespaceWithContent ^^ { _ in token }

  }
}

public func char(_ value: Character) -> LexicalParser {
  return accept(value) ^^ { String($0) }
}

