Someone help me, a rust programmer , understand this: is this like having a function be generic over structs with some fields?
Like having `<T: {width: f64, depth: f64}>`?
I have such a hard time understanding the multiple arrows notation of ML family languages.