たとえば、↓の関数はすべて等しいことになるんじゃないかと。 func foo(_ x: UInt) -> UInt { return x * x } func square(of number: UInt) -> UInt { let result = number * number return result } func bar(_ x: UInt) -> UInt { guard x > 0 else { return 1 } var result = 0 for v in 0..<x { result += x } return x }