Set::Infinite TODO 

    - parser

    - _quantize_span should only be used inside backtrack()

    - provide a constructor to build open sets

    - provide a constructor that allow for un-ordered and overlapping spans

    - verify and fix unbalanced trace_open/trace_close 

    - move _cleanup to S::I::Basic

    - move (offset, quantize), or most of Arithmetic.pm, to Date::Set 
    - refactor "widgets" out of the main code. Maybe create
      a Set::Infinite::Widgets directory (offset, quantize).
    - give more standard names to Arithmetic.pm variables
    - implement "last of quantize"

    - remove _quantize_span()

    - a set with first == inf or last = -inf is an error!

    - tests for "iterate" min/max/first/last
    - more tests for min/max/span/size on too_complex sets

    - refactor backtracking

    - find out how to compare "<=>" unbounded sets
    - try using first() in intersects() and "<=>"
    - test finding out min/max of integer open sets (see backtrack.t tests 2,3)

    - fix _todo/bigfloat, _todo/bigint

BACKTRACK

    backtrack.t:

	test backtrack on:
		iterate
		compact
		no_cleanup
                tolerance
                complement

	change $backtrack_arg2 = $arg->quantize(@param)->union(); to span()

	backtracking: should be extensible. Use tables instead of if-else
	backtracking: change ->{method} to sub-pointer instead of string ?
	backtracking: define 'backwards' method instead of if-else (near 3-08)

	backtracking: define union, complement, contains...

	backtracking: implement remaining tests in backtrack.t
	verify results in backtrack.t

	backtracking: document backtracking resolution

SYNTAX

	extra: Make a 'strict' option for "quantize" and other filters, 
	that will intersect
	each unit back to the object, that is:
	Interval:                     [************************]
	Quantized:                [*********)[*********)[*********)
	Quantized->Stricted:          [*****)[*********)[******]

	think about: "push-pop", "dup", "drop" mechanism

	think about: some "if-else" mechanism

DOCUMENTATION

	check: POD formatting and contents 

	verify, document parameter syntax everywhere

	document:
		??? offset option 'mode=>circle'
		new method 'list'
		iterate
		??? no_cleanup

        document as "internal":
                min_a
                max_a
                backtrack
	        trace

	??? document: quantize extensibility through hash-subs

CACHEING

	cache quantize by month/day/...
	-- doesn't work if 'quant' is changed
	-- doesn't check 'intersects'
	make a 'flush'-cache method. Make a 'cache-registry'.
	think about: caching for union, etc  

