infix operator >>>: ForwardComposition

precedencegroup ForwardComposition {
	associativity: right
	higherThan: ForwardApplication
}

func >>> <First, Second, Third>(
	firstToSecond: @escaping (First) -> Second,
	secondToThird: @escaping (Second) -> Third
) -> (First) -> (Third) {
	{ first in
		first |> firstToSecond |> secondToThird
	}
}

2 |> incremented >>> squared