# Precise capturing bound

fn capture<'a, T>(value: &'a T) -> impl Sized + use<'a, T> { value }

==>

SourceFile(
  FunctionItem(
    fn,
    BoundIdentifier,
    TypeParamList(Lifetime, TypeIdentifier),
    ParamList(Parameter(BoundIdentifier, ReferenceType(Lifetime, TypeIdentifier))),
    BoundedType(
      AbstractType(impl, TypeIdentifier),
      UseBound(use, Lifetime, Identifier)),
    Block(ExpressionStatement(Identifier))))
