Writing enumerable types