Start Data.EnumeratedSequence, migrate some important functions from Data.Sequence
use EnumSeq for Generator
rename EnumSeq to NSeq
using Proxy observer in NSeq