Sandi Metz's 99 bottles of beer code kata