precedencegroup CompositionPrecedence {
    associativity: right
    higherThan: BitwiseShiftPrecedence
}

infix operator •: CompositionPrecedence

func • <A, B, C> (f: @escaping (B) -> C, g: @escaping (A) -> B) -> (A) -> C {
    return { x in f(g(x)) }
}

import Runes

precedencegroup CompositionPrecedence {
    associativity: right
    higherThan: ApplicativeSequencePrecedence
}

infix operator •: CompositionPrecedence

func • <A, B, C> (f: @escaping (B) -> C, g: @escaping (A) -> B) -> (A) -> C {
    return { x in f(g(x)) }
}

Fix precedence for composition operator
Fix precedence for composition operator

I'm not too worried about getting this exactly right since we're not exporting
it publicly. I just want to make sure it's got the correct precedence for the
tests.
