using the same string builder, making indentation 2 spaces, adding support for general IEnumerables