An implementation of the Hindley-Milner type inference/reconstruction algorithm in Ruby