presto-main/src/main/java/io/prestosql/operator/scalar/RowToRowCast.java/RowToRowCast/RowToRowCast
class RowToRowCast:    private RowToRowCast()
    {
        super(CAST,
                ImmutableList.of(
                        // this is technically a recursive constraint for cast, but TypeRegistry.canCast has explicit handling for row to row cast
                        new TypeVariableConstraint("F", false, false, "row", ImmutableSet.of(new TypeSignature("T")), ImmutableSet.of()),
                        withVariadicBound("T", "row")),
                ImmutableList.of(),
                new TypeSignature("T"),
                ImmutableList.of(new TypeSignature("F")),
                false);
    }