fn __action160<'input>(
    input: &'input str,
    (_, s, _): (usize, Ty, usize),
    (_, _, _): (usize, &'input str, usize),
    (_, t, _): (usize, Identifier, usize),
    (_, _, _): (usize, &'input str, usize),
    (_, a, _): (usize, Option<Vec<GenericArg>>, usize),
    (_, name, _): (usize, Identifier, usize),
    (_, a2, _): (usize, Vec<GenericArg>, usize),
    (_, _, _): (usize, &'input str, usize),
    (_, ty, _): (usize, Ty, usize),
    (_, _, _): (usize, &'input str, usize)
) -> WhereClause