FunctionDeclaration { name: method, kind: Micro, annotations: Empty, generics: [], parameters: [], returns: Auto, body: [], } FunctionDeclaration { name: method, kind: Micro, annotations: Annotation { modifiers: [ eager, ], }, generics: [], parameters: [], returns: Auto, body: [], } FunctionDeclaration { name: method, kind: Micro, annotations: Empty, generics: [], parameters: [ Parameter { key: "self", }, Parameter { key: "list", bound: List, }, <<>>, <<>>, ], returns: Auto, body: [], } FunctionDeclaration { name: method, kind: Micro, annotations: Empty, generics: [], parameters: [ Parameter { key: "input", bound: Integer, default: 0, }, ], returns: Auto, body: [], } FunctionDeclaration { name: method, kind: Micro, annotations: Empty, generics: [], parameters: [], returns: ReturnType { main: Integer, }, body: [], } FunctionDeclaration { name: method, kind: Micro, annotations: Empty, generics: [], parameters: [], returns: Auto, body: [], } FunctionDeclaration { name: method, kind: Micro, annotations: Annotation { modifiers: [ lazy, ], }, generics: [], parameters: [ Parameter { key: "self", annotations: Annotation { modifiers: [ mut, ], }, }, <<>>, Parameter { key: "input", bound: Integer, default: 0, }, <<>>, Parameter { key: "list", bound: List, }, ], returns: ReturnType { main: Integer, }, body: [], }