 infix operator !~~  : FunctionCompositionPrecedence /// Non-backtracking ~~
 infix operator **   : FunctionCompositionPrecedence /// Apply lhs's result function to rhs's result
 infix operator !**  : FunctionCompositionPrecedence /// Non-backtracking !**
+infix operator ^^=  : FunctionCompositionPrecedence /// .map { _ in ... }
 infix operator ^^   : FunctionCompositionPrecedence /// .map(_:)
 infix operator ^^^  : FunctionCompositionPrecedence /// .mapParse(_:)
 infix operator !^^  : FunctionCompositionPrecedence /// .nonbacktracking().map(_:)
+infix operator !^^=  : FunctionCompositionPrecedence /// .nonbacktracking().map { _ in ... }
 infix operator !^^^ : FunctionCompositionPrecedence /// .nonbacktracking().mapParse(_:)
 infix operator <!-- : FunctionCompositionPrecedence /// .tagged(_:)
 infix operator ..   : FunctionCompositionPrecedence /// .tagged(_:)

    /// Transform the target to the desired data structure
    /// - returns: the composed parser
    @inline(__always)
    public static func ^^ <MapTarget>(
        _ lhs: Parser<Target>, _ rhs: MapTarget) -> Parser<MapTarget> {
        return lhs.map { _ in rhs }
    }

    }

    @inline(__always)
    public static func !^^= <MapTarget>(
        _ lhs: Parser<Target>, _ rhs: MapTarget) -> Parser<MapTarget> {
        return lhs.nonbacktracking().map { _ in rhs }
    }
