struct RangedTerm { typealias Term = Cofree)> let term: Term } extension RangedTerm: Arbitrary { static var arbitrary: Gen { func arbitrary(from: Int) -> Gen { let leaf: Gen = String.arbitrary.fmap { Cofree(($0, from..