https://stackoverflow.com/questions/36465664/whats-the-difference-between-c-type-deduction-and-haskell-type-inference
https://stackoverflow.com/questions/36465664/whats-the-difference-between-c-type-deduction-and-haskell-type-inference