type Link = Option>>; // Type alias pub struct List { // User-facing interface for list head: Link, } struct Node { // Private implementation of Node elem: T, next: Link, } impl List { #[inline] pub fn new() -> Self { // List constructor List { head: None } // Add other methods here }